Implementasi C ++ dari pohon AVL, pohon pencarian biner yang menyeimbangkan sendiri. Kode ini mencakup fungsi -fungsi berikut: masukkan, hapus, cari, dan cetak. Ini berfungsi penuh dan mommentasi dengan baik.
Pohon AVL adalah pohon pencarian biner yang menyeimbangkan diri di mana ketinggian dua subtree anak dari setiap node berbeda dengan paling banyak. Implementasi ini menyediakan metode yang efisien untuk memasukkan, menghapus, mencari, mencari, dan mencetak elemen di dalam pohon.
Fungsi insert memungkinkan Anda untuk menambahkan nilai baru ke pohon AVL sambil mempertahankan properti seimbangnya.
// Function
Node * insert (Node *node, int key);
// Example
AVLTree.insert(AVLTree.root, 19 ); Fungsi deleteNode menghilangkan nilai dari pohon AVL, jika ada. Operasi ini juga memastikan bahwa pohon tetap seimbang. Jika nilainya ditemukan dan dihapus, struktur pohon disesuaikan.
// Function
Node * deleteNode (Node *root, int key);
// Example
AVLTree.deleteNode(AVLTree.root, 16 ); Fungsi search menemukan nilai di pohon AVL dan mencetak lokasi, orang tua, dan anak -anak saat ini (jika ada). Jika nilainya ada pada root, itu akan menunjukkan itu.
// Function
static void search (Node *root, int key);
// Example
Tree::search (AVLTree.root, 32 );
Fungsi printTree menghasilkan elemen -elemen pohon AVL dalam urutan yang diurutkan.
// Function
void printTree (Node *root, int space);
// Example
AVLTree.printTree(AVLTree.root, 0 );