AVL Tree diciptakan oleh Adelson-Velskii dan Landis. AVL Tree merupakan Binary Search Tree yang memiliki selisih tinggi / level maksimal 1 antara subtree kiri dan subtree kanan. AVL Tree mempersingkat waktu pencarian dan menyederhanakan bentuk tree. Tree diatas merupakan AVL karena selisih subtree kiri dan subtree kanan memenuhi salah satu syaratnya yaitu sama dengan 1. Di bawah ini adalah tree yang bukan AVL karena selisih subtree kiri dan subtree kanan sama dengan 2, yang berarti tidak memenuhi syarat. INSERTION Untuk insertion AVL Tree terdapat 4 case: 1. Single Rotation Kasus 1 Left-Left Case akan diselesaikan dengan Right Rotate dan menjadi: 18 / \ 5 27 Kasus 2 Right-Right Case akan diselesaikan dengan Left Rotate dan menjadi: 45 / \ 30 75 2. Double Rotation Kasus 3 Right-Left Case akan diselesaikan dengan Right Rotate lalu Left Rotate menjadi: (1) Right Rotate 50 \ 63 \
Linked List adalah salah satu bentuk struktur data yang memuat kumpulan data (node) yang menempati memori dinamis dan setiap node menunjuk kepada node lain melalui pointer sehingga saling berhubungan dengan berurutan. Single Linked List merupakan linked list yang setiap nodenya mempunyai 2 field yaitu field yang berisi data dan field yang berisi pointer ke node berikutnya , sehingga pointer bergerak hanya ke satu arah saja. Double Linked List benar-benar mirip seperti Single Linked List, opeasi yang dilakukan pun mirip seperti Single Linked List. Perbedaannya hanya pada setiap nodenya memiliki tambahan 1 field yang berisi pointer ke node sebelumnya , sehingga pointer bergerak kedua arah. Stack merupakan struktur data linear yang beroperasi seperti tumpukan, yaitu Last In First Out (LIFO) dimana elemen yang terakhir masuk (berada di paling atas) akan terlebih dahulu diproses lalu dikeluarkan dari stack. Queue merupakan struktur data linear yang beroperas