tree

package
v0.0.0-...-feb6713 Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2016 License: GPL-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsLeaf

func IsLeaf(n *Node) bool

判断Btree的某个节点是否为叶子节点 如果是则返回true

func IsRoot

func IsRoot(n *Node) bool

判断Btree的某个节点是否为整个树的根节点 如果是根节点返回true

Types

type BTree

type BTree struct {
	Head *Node
	Size int
}

B 树

func NewBTree

func NewBTree(el Element) *BTree

构造一颗B tree

func (*BTree) Delete

func (t *BTree) Delete(el Element) bool

删除树中的某个节点,如果这个节点在这个树中则删除并返回true 如果不在这个树中则返回false

func (*BTree) Insert

func (t *BTree) Insert(el Element)

插入节点 节点的左节点都小于该节点 节点的右节点都大于该节点

func (*BTree) PrintTree

func (t *BTree) PrintTree(f func([]*Node))

打印树结构 遍历

func (*BTree) Search

func (t *BTree) Search(el Element) *Node

搜索B树中以某个节点为根节点的子树中是否存在某个节点

type Element

type Element interface {
	//两个节点比较大小
	//小于el  -1
	//大于el  1
	//等于el  0
	Compare(el interface{}) int
}

func BTreeDelete

func BTreeDelete(n *Node) Element

删除BTree中的某个节点

type Node

type Node struct {
	Element Element
	Parent  *Node
	Left    *Node
	Right   *Node
}

func BTreeMax

func BTreeMax(n *Node) *Node

B树中寻找以某个节点为根节点的最大节点

func BTreeMin

func BTreeMin(n *Node) *Node

B树中以某个节点为根的最小节点

func BTreeSearch

func BTreeSearch(h *Node, el Element) *Node

搜索以某个节点为根节点的BTree中是否存在某个元素, 如果存在返回相应节点 不存在返回nil

func DeleteLeaf

func DeleteLeaf(n *Node) *Node

如果是页节点则删除,如果不是页节点则返回nil

func NewNode

func NewNode(el Element) *Node

Jump to

Keyboard shortcuts

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