二分搜索树

Catalogue
  1. 1. 简介
  2. 2. @NewBSTree
  3. 3. @Size 获取大小
  4. 4. @Add 添加节点
  5. 5. @Contains 检查是否存在
  6. 6. @PreOrder 前中后序遍历
  7. 7. @LevelOrder 层序遍历
  8. 8. @Min 最小节点
  9. 9. @Max 最大节点
  10. 10. @RemoveMin 去除最小的
  11. 11. @RemoveMax 去除最大节点
  12. 12. @Remove 去除节点

简介

二分搜索树,基础版的实现,用于展示,因为在多种情况下效率比较差,没有自平衡,会退化成链表等,建议使用红黑树,或者hash表等,

@NewBSTree

1
2
//NewBSTree return BSTree
func NewBSTree() *BSTree

@Size 获取大小

1
2
//Size get size
func (b BSTree) Size() int

@Add 添加节点

1
2
//Add add
func (b *BSTree) Add(e int)

@Contains 检查是否存在

1
func (b BSTree) Contains(e int) bool

@PreOrder 前中后序遍历

1
func (b BSTree) PreOrder()

@LevelOrder 层序遍历

1
func (b BSTree) LevelOrder()

@Min 最小节点

1
2
//mini get mini value
func (c BSTree) Min() int

@Max 最大节点

1
func (c BSTree) Max() int

@RemoveMin 去除最小的

1
func (c *BSTree) RemoveMin() int

@RemoveMax 去除最大节点

1
func (c *BSTree) RemoveMax() int

@Remove 去除节点

1
func (c *BSTree) Remove(e int)