segtree

package
v0.0.0-...-c500841 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

线段树节点定义

线段树定义

Index

Constants

This section is empty.

Variables

View Source
var ErrNotInRang = errors.New("not in range")

ErrNotInRang 表示查询区间不在当前序列的范围内

Functions

func Max

func Max[T cmp.Ordered](seg []T) T

Max 求最大值

func Min

func Min[T cmp.Ordered](seg []T) T

Min 求最小值

func Sum

func Sum[T cmp.Ordered](seg []T) T

Sum 求和

Types

type AggFunc

type AggFunc[T any] func([]T) T

AggFunc 提供聚合功能的函数

type SegTree

type SegTree[T cmp.Ordered] struct {
	// contains filtered or unexported fields
}

SegTree 线段树定义

func NewSegTree

func NewSegTree[T cmp.Ordered](seg []T, f AggFunc[T]) *SegTree[T]

NewSegTree 构建线段树

func (*SegTree[T]) InOrder

func (st *SegTree[T]) InOrder() [][]T

InOrder 中序遍历的结果

func (*SegTree[T]) LevelOrder

func (st *SegTree[T]) LevelOrder() [][]T

LevelOrder 层序遍历的结果

func (*SegTree[T]) PostOrder

func (st *SegTree[T]) PostOrder() [][]T

PostOrder 后序遍历的结果

func (*SegTree[T]) PreOrder

func (st *SegTree[T]) PreOrder() [][]T

PreOrder 前序遍历的结果

func (*SegTree[T]) Query

func (st *SegTree[T]) Query(l, r int) (T, error)

Query 线段树的区间查询

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL