Posts

AVL Tree & B-Tree

Image
Muhammad Raul Taqi Athallah // 2301893013 AVL Tree & B-Tree AVL Tree AVL Tree adalah Binary Search Tree yang memiliki perbedaan tinggi/level maksimal 1 antara subtree kiri dan kanan. AVL Tree digunakan untuk menyeimbangkan Binary Search, mempersingkat waktu pencarian, dan menyederhanakan bentuk tree. Cara menentukan Height : Jika root tidak memiliki subtree, height = 0. Jika node adalah leaf, height = 1. Jika internal node, maka height = height tertinggi dari anak + 1. Cara menentukan Balance Factor : Selisih height antara anak kiri dan kanan, jika tidak memiliki anak, dianggap AVL Tree Operations : 1. Insertion 2. Deletion Insertion Ada 4 Kondisi yang biasa terjadi saat Insertion dilakukan, yaitu : Node terdalam terletak pada subtree kiri dari anak kiri T (left - left) Node terdalam terletak pada subtree kanan dari anak kanan T (right - right) Node terdalam terletak pada subtree kanan dari anak kiri T (right - left) Node t

Data Structure Summary

Image
Data Structure Summary Muhammad Raul Taqi Athallah 2301893013 CD-01 POINTER Pointer adalah sebuah variable untuk menunjuk variable lainnya Contoh: A = 5, *ptr = &A berarti pointer menunjuk variable A (jika di output akan menujukan nilai dari A) Operator: - & = Address, agar compiler tau letak variable dimana - *  = untuk nentuin isinya (untuk pointer) Mempelajari data structure bertujuan untuk mengatur data secara structural dan efisien. Contoh : antrian ke ATM LINKED LIST: Linked list ditaruh secara acak di RAM dan cara data a dan b saling berhubungan maka ditunjuk oleh pointer - Single linked list = 1 pointer - Double linked list = 2 pointer - Multiple linked list  >2 pointer Single linked list = contohnya seperti  Array1 menunjuk Array2, Array2 menunjuk Array3, kelemahan Single linked list adalah posisi nya tidak bisa terbalik. Double linked list = contohnya seperti Array1 menunjuk Array2, Array2 menunjuk ke Array3 tetapi Array2 juga m