Skip to main content

rust_algorithms/tree/
mod.rs

1//! # Daraxtlar (Trees)
2//!
3//! Darslik: `07-trees/`
4//!
5//! Daraxt — ierarxik struktura: bitta **ildiz** (root), undan tarmoqlanuvchi
6//! **tugunlar** (node) va tarmoqsiz **barglar** (leaf). Sikl bo'lmaydi.
7//!
8//! ```text
9//!            [50]            ← ildiz (root)
10//!           /    \
11//!        [30]    [70]        ← ichki tugunlar
12//!        /  \       \
13//!     [20] [40]     [80]     ← barglar (leaf)
14//! ```
15//!
16//! ## Atamalar
17//!
18//! | Atama | Ma'nosi |
19//! |---|---|
20//! | Balandlik (height) | Ildizdan eng uzoq bargacha bo'lgan qirralar soni |
21//! | Chuqurlik (depth) | Ildizdan shu tugungacha bo'lgan qirralar soni |
22//! | Daraja (degree) | Tugunning farzandlari soni |
23//! | Balanslangan | Har bir tugun uchun chap/o'ng balandlik farqi ≤ 1 |
24//!
25//! ## Modul tarkibi
26//!
27//! | Struktura | Nima uchun |
28//! |---|---|
29//! | [`BinaryTree`] | Aylanib chiqish (traversal) usullarini o'rganish |
30//! | [`BinarySearchTree`] | Tartiblangan qidiruv: O(log n) — agar balanslangan bo'lsa |
31//! | [`AvlTree`] | **Kafolatlangan** O(log n): o'zini balanslaydigan BST |
32//! | [`Trie`] | Prefiks daraxti: avtoto'ldirish, lug'at, T9 |
33
34mod avl;
35mod binary_tree;
36mod bst;
37mod trie;
38
39pub use avl::AvlTree;
40pub use binary_tree::{BinaryTree, TreeNode};
41pub use bst::BinarySearchTree;
42pub use trie::Trie;