tree

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2025 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RED   = true
	BLACK = false
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AVLNode

type AVLNode struct {
	Value  int
	Left   *AVLNode
	Right  *AVLNode
	Height int
}

Node представляет узел AVL-дерева

func LeftRotate

func LeftRotate(x *AVLNode) *AVLNode

LeftRotate выполняет левый поворот вокруг узла

func RightRotate

func RightRotate(y *AVLNode) *AVLNode

RightRotate выполняет правый поворот вокруг узла

func (*AVLNode) GetBalance

func (n *AVLNode) GetBalance() int

GetBalance возвращает баланс узла

func (*AVLNode) GetHeight

func (n *AVLNode) GetHeight() int

GetHeight возвращает высоту узла

func (*AVLNode) UpdateHeight

func (n *AVLNode) UpdateHeight()

UpdateHeight обновляет высоту узла

type AVLTree

type AVLTree struct {
	Root *AVLNode
}

AVLTree представляет AVL-дерево

func (*AVLTree) InOrderTraversal

func (tree *AVLTree) InOrderTraversal() []int

InOrderTraversal выполняет обход дерева в симметричном порядке

func (*AVLTree) Insert

func (tree *AVLTree) Insert(value int)

Insert вставляет новое значение в AVL-дерево

func (*AVLTree) Search

func (tree *AVLTree) Search(value int) bool

Search ищет значение в AVL-дереве

type BST

type BST struct {
	Root *NodeBST
}

представляет бинарное дерево поиска

func (*BST) InOrderTraversal

func (bst *BST) InOrderTraversal() []int

выполняет обход дерева в симметричном порядке

func (*BST) Insert

func (bst *BST) Insert(value int)

добавляет значение в бинарное дерево поиска

func (*BST) PostOrderTraversal

func (bst *BST) PostOrderTraversal() []int

выполняет обход дерева в постордерном порядке

func (*BST) PreOrderTraversal

func (bst *BST) PreOrderTraversal() []int

выполняет обход дерева в предварительном порядке

func (*BST) Search

func (bst *BST) Search(value int) bool

ищет значение в бинарном дереве поиска

type NodeBST

type NodeBST struct {
	Value int
	Left  *NodeBST
	Right *NodeBST
}

представляет узел бинарного дерева

type NodeRBT

type NodeRBT struct {
	Value  int
	Color  bool // true - красный, false - черный
	Left   *NodeRBT
	Right  *NodeRBT
	Parent *NodeRBT
}

Узел красно-черного дерева

func NewNode

func NewNode(value int, color bool) *NodeRBT

Создание нового узла

type RedBlackTree

type RedBlackTree struct {
	Root *NodeRBT
}

Красно-черное дерево

func (*RedBlackTree) InOrderTraversal

func (t *RedBlackTree) InOrderTraversal() []int

Обход дерева in-order и возврат результата в виде слайса

func (*RedBlackTree) Insert

func (t *RedBlackTree) Insert(value int)

Вставка значения в дерево

func (*RedBlackTree) Search

func (t *RedBlackTree) Search(value int) bool

Поиск значения в дереве

Jump to

Keyboard shortcuts

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