Бинарное дерево поиска (BST) в Go.

Ответ

BST: у каждого узла левое поддерево меньше, правое больше. Поиск, вставка, удаление в среднем O(log n). В Go: структура с Val, Left, Right *Node. Рекурсия или итерация с указателем на текущий узел. Балансировка (AVL, красно-черное) для гарантии O(log n). В стандартной библиотеке нет; для упорядоченного множества используют sort + бинарный поиск или сторонние деревья.

type Node struct { Key int; Left, Right *Node }
func (n *Node) Search(k int) *Node {
    if n == nil || n.Key == k { return n }
    if k < n.Key { return n.Left.Search(k) }
    return n.Right.Search(k)
}
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.