mirror of
https://github.com/charlienet/go-mixed.git
synced 2025-07-18 00:22:41 +08:00
create
This commit is contained in:
90
tree/bptree.go
Normal file
90
tree/bptree.go
Normal file
@ -0,0 +1,90 @@
|
||||
package tree
|
||||
|
||||
// B+ tree
|
||||
|
||||
type BPTree[T Item[T]] struct {
|
||||
length int
|
||||
degree int
|
||||
}
|
||||
|
||||
// 初始化B+树
|
||||
func NewBPTree[T Item[T]](degree int) *BPTree[T] {
|
||||
return &BPTree[T]{
|
||||
degree: degree,
|
||||
}
|
||||
}
|
||||
|
||||
// nil cannot be added to the tree (will panic).
|
||||
func (t *BPTree[T]) ReplaceOrInsert(item Item[T]) Item[T] {
|
||||
return item
|
||||
}
|
||||
|
||||
func (t *BPTree[T]) Delete(item T) (T, bool) {
|
||||
return *new(T), false
|
||||
}
|
||||
|
||||
func (t *BPTree[T]) Get(key T) (T, bool) {
|
||||
return *new(T), false
|
||||
}
|
||||
|
||||
// Has returns true if the given key is in the tree.
|
||||
func (t *BPTree[T]) Has(key T) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// 升序
|
||||
func (t *BPTree[T]) Ascend(iterator ItemIterator[T]) {
|
||||
}
|
||||
|
||||
// 大于等于
|
||||
func (t *BPTree[T]) AscendGreaterOrEqual(pivot Item[T], iterator ItemIterator[T]) {
|
||||
|
||||
}
|
||||
|
||||
// 小于
|
||||
func (t *BPTree[T]) AscendLessThan(pivot Item[T], iterator ItemIterator[T]) {
|
||||
|
||||
}
|
||||
|
||||
// 范围迭代
|
||||
func (t *BPTree[T]) AscendRange(greaterOrEqual, lessThan Item[T], iterator ItemIterator[T]) {
|
||||
|
||||
}
|
||||
|
||||
// 降序升序迭代
|
||||
func (t *BPTree[T]) Descend(iterator ItemIterator[T]) {
|
||||
}
|
||||
|
||||
// 大于,降序迭代
|
||||
func (t *BPTree[T]) DescendGreaterThan(pivot Item[T], iterator ItemIterator[T]) {
|
||||
|
||||
}
|
||||
|
||||
// 小于等于,降序迭代
|
||||
func (t *BPTree[T]) DescendLessOrEquql(pivot Item[T], iterator ItemIterator[T]) {
|
||||
|
||||
}
|
||||
|
||||
// 范围降序迭代
|
||||
func (t *BPTree[T]) DescendRange(greaterOrEqual, lessThan Item[T], iterator ItemIterator[T]) {
|
||||
|
||||
}
|
||||
|
||||
func (t *BPTree[T]) Min() (T, bool) {
|
||||
return *new(T), false
|
||||
}
|
||||
|
||||
func (t *BPTree[T]) Max() (T, bool) {
|
||||
return *new(T), false
|
||||
}
|
||||
|
||||
func (t *BPTree[T]) Len() int {
|
||||
return t.length
|
||||
}
|
||||
|
||||
func (t *BPTree[T]) Clear() {
|
||||
}
|
||||
|
||||
// B+ 树节点
|
||||
type bpNode[T Item[T]] struct {
|
||||
}
|
Reference in New Issue
Block a user