gods/trees/trees.go

33 lines
1.0 KiB
Go
Raw Normal View History

// Copyright (c) 2015, Emir Pasic. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Package trees provides an abstract Tree interface.
//
// In computer science, a tree is a widely used abstract data type (ADT) or data structure implementing this ADT that simulates a hierarchical tree structure, with a root value and subtrees of children with a parent node, represented as a set of linked nodes.
//
// Reference: https://en.wikipedia.org/wiki/Tree_%28data_structure%29
package trees
import (
"github.com/emirpasic/gods/containers"
"github.com/emirpasic/gods/utils"
)
2016-06-24 19:52:16 +00:00
// Tree interface that all trees implement
type Tree interface {
Comparator() utils.Comparator
New() Tree
Iterator() containers.ReverseIteratorWithKey
Put(key interface{}, value interface{})
Remove(key interface{})
Get(key interface{}) (interface{}, bool)
Keys() []interface{}
containers.Container
// Empty() bool
// Size() int
// Clear()
// Values() []interface{}
}