Documentation
¶
Overview ¶
TODO: Add package comment here.
Index ¶
- func BreadthFirstSearch(traversable BinaryTraversable, callback TraversalCallback)
- func Depth(traversable BinaryTraversable) int
- func DepthFirstSearch(traversable BinaryTraversable, order cargo.TraversalOrder, ...)
- func Height(traversable BinaryTraversable) int
- func IsBalanced(traversable BinaryTraversable) bool
- func IsBinarySearchTree(traversable BinaryTraversable, less comparators.Less) bool
- type BinarySearchTree
- type BinarySearchable
- type BinaryTraversable
- type BinaryTree
- func (tree *BinaryTree) Left() BinaryTraversable
- func (tree *BinaryTree) Parent() BinaryTraversable
- func (tree *BinaryTree) Right() BinaryTraversable
- func (tree *BinaryTree) SetLeft(left BinaryTraversable)
- func (tree *BinaryTree) SetParent(parent BinaryTraversable)
- func (tree *BinaryTree) SetRight(right BinaryTraversable)
- func (tree *BinaryTree) Value() interface{}
- type RedBlackTree
- type RedBlackTreeColor
- type TraversalCallback
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BreadthFirstSearch ¶
func BreadthFirstSearch(traversable BinaryTraversable, callback TraversalCallback)
func Depth ¶
func Depth(traversable BinaryTraversable) int
func DepthFirstSearch ¶
func DepthFirstSearch(traversable BinaryTraversable, order cargo.TraversalOrder, callback TraversalCallback)
func Height ¶
func Height(traversable BinaryTraversable) int
func IsBalanced ¶
func IsBalanced(traversable BinaryTraversable) bool
func IsBinarySearchTree ¶
func IsBinarySearchTree(traversable BinaryTraversable, less comparators.Less) bool
Types ¶
type BinarySearchTree ¶
type BinarySearchTree struct {
*BinaryTree
// contains filtered or unexported fields
}
func NewBinarySearchTree ¶
func NewBinarySearchTree(value interface{}, less comparators.Less) *BinarySearchTree
func (*BinarySearchTree) Find ¶
func (tree *BinarySearchTree) Find(value interface{}) BinarySearchable
func (*BinarySearchTree) Insert ¶
func (tree *BinarySearchTree) Insert(value interface{}) BinarySearchable
func (*BinarySearchTree) InsertAll ¶
func (tree *BinarySearchTree) InsertAll(values ...interface{})
func (*BinarySearchTree) Less ¶
func (tree *BinarySearchTree) Less() comparators.Less
type BinarySearchable ¶
type BinarySearchable interface {
BinaryTraversable
Insert(value interface{}) BinarySearchable
Find(value interface{}) BinarySearchable
Less() comparators.Less
}
type BinaryTraversable ¶
type BinaryTraversable interface {
Parent() BinaryTraversable
SetParent(traversable BinaryTraversable)
Left() BinaryTraversable
SetLeft(traversable BinaryTraversable)
Right() BinaryTraversable
SetRight(traversable BinaryTraversable)
Value() interface{}
}
func Root ¶
func Root(traversable BinaryTraversable) BinaryTraversable
type BinaryTree ¶
type BinaryTree struct {
// contains filtered or unexported fields
}
func NewBinaryTree ¶
func NewBinaryTree(value interface{}) *BinaryTree
func (*BinaryTree) Left ¶
func (tree *BinaryTree) Left() BinaryTraversable
func (*BinaryTree) Parent ¶
func (tree *BinaryTree) Parent() BinaryTraversable
func (*BinaryTree) Right ¶
func (tree *BinaryTree) Right() BinaryTraversable
func (*BinaryTree) SetLeft ¶
func (tree *BinaryTree) SetLeft(left BinaryTraversable)
func (*BinaryTree) SetParent ¶
func (tree *BinaryTree) SetParent(parent BinaryTraversable)
func (*BinaryTree) SetRight ¶
func (tree *BinaryTree) SetRight(right BinaryTraversable)
func (*BinaryTree) Value ¶
func (tree *BinaryTree) Value() interface{}
type RedBlackTree ¶
type RedBlackTree struct {
*BinarySearchTree
// contains filtered or unexported fields
}
func NewRedBlackTree ¶
func NewRedBlackTree(value interface{}, less comparators.Less) *RedBlackTree
func (*RedBlackTree) Insert ¶
func (tree *RedBlackTree) Insert(value interface{}) BinarySearchable
func (*RedBlackTree) InsertAll ¶
func (tree *RedBlackTree) InsertAll(values ...interface{})
type RedBlackTreeColor ¶
type RedBlackTreeColor int
const ( Red RedBlackTreeColor = 1 Black RedBlackTreeColor = 2 )
type TraversalCallback ¶
type TraversalCallback func(traversable BinaryTraversable) bool
Click to show internal directories.
Click to hide internal directories.