README
tree
This project now requires go 1.1 to build!
A strongly typed binary search tree in Go without casts or reflection
godoc documentation here: http://godoc.org/github.com/natefinch/tree
The basic idea is simply to separate data storage from data organization. The tree stores the organization, you store the data in a slice or other indexable data structure.
The organization tree uses a compare function similar to that of the standard library's package sort to compare using indexes into your data structure.
See https://github.com/natefinch/treesample for a working sample
License:
MIT License
Documentation
Overview ¶
Package tree implements a very simple binary tree without any balancing. This is mainly intended as a proof of concept for a strongly typed tree in Go without using reflection or casts.
Index ¶
Constants ¶
Variables ¶
Functions ¶
Types ¶
type Compare ¶
Comparer is a comparison function that should return -1 if data[i] < data[i], 0 if equal, and 1 if greater than
type Tree ¶
type Tree struct {
Head *Node
}
Tree holds a binary tree data organization.
Note that Tree is not intended to hold data itself, it just maintains a structure, and data is retrieved using a node's Val as the index into another data structure that holds the actual values
func (*Tree) Delete ¶
Delete removes the node of the tree with the value at index i
Delete returns the index of rhte item if the value was found, otherwise will return an error