trees

package
v0.0.0-...-83ea666 Latest Latest
Warning

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

Go to latest
Published: May 9, 2014 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

TODO: Add package comment here.

http://golang.org/doc/effective_go.html#commentary

Index

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

Jump to

Keyboard shortcuts

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