Langsung ke konten utama

Data Structure: Heap and Tries

Heap and Tries

Heap:

Adalah sebuah complete binary tree yang mempunyai heap properties.
Adapun jenis heap sebagai berikut:
1. Min Heap
Semua nilai node lebih kecil dari childnya. Sehingga dapat dikatakan root merupakan node paling kecil, sedangkan node terbesar terletak pada leaf node
  • Insertion min heap dengan ketentuan insert node selalu berurutan dari level terendah dengan urutan left ke right, new node selalu menjadi leaf node, lalu kita sesuaikan dengan heap properties secara rekursif.
  • Deletion min heap dengan ketentuan node yang dihapus selalu root karena merupakan node terkecil, lalu diganti dengan node terakhir yang diinsert, lalu sesuaikan lagi dengan heap properties secara rekursif.

2. Max Heap
Merupakan kebalikan dari min heap, yaitu dimana semua node nilainya lebih besar dari childnya.
  • Insertion max heap hampir sama dengan min heap, tetapi hanya berbeda aturan. Aturannya yaitu nilai child< nilai parentnya.
  • Deletion max heap dapat kita lakukan dengan menukar anak kiri atau kanan dari root dengan node terakhir dari heap lalu hapus. Lalu downheapmax dari node tersebut.
3. Min-Max Heap
Merupakan gabungan dari min dan max heap. Konsep Min Max Heap adalah level root akan bernilai minimum, selanjutnya akan bernilai maximum, dan seterusnya.
  • Insert min-max heap dengan ketentuan insert node sesuai urutan lalu cek upheap dan sesuaikan dengan properties level. Biasanya dilakukan penyesuaian rekursif dengan urutan parent dulu lalu grand parent.
  • Deletion min-max heap selalu dilakukan pada root lalu seusaikan dengan downheap sesuai properties. Biasanya dilakukan penyesuaian secara rekursif dengan urutan grand child(disesuaikan dengan parentnya) lalu child.

Tries:

Tries adalah prefix tree yaitu data tree yang terurut strukturnya untuk penyimpan suatu array. Berasal dari kata reTRIEval yang berarti untuk menyimpan asosiatif array dan jika dalam aplikasinya trie concept ini seperti auto-complete. biasanya tries dioperasikan pada pencarian browser, lalu spell checker pada digital dictionary.
Pada tries ini mengandung huruf:
bear, bell, bid, bull, buy, sell, stock, stop.

Komentar

Postingan populer dari blog ini

SUMMARY #2

SUMMARY Bryan Darmawan Kartolo 2301863566 / CB-01 Dosen:  Ferdinand Ariandy Luwinda (D4522) & Henry Chong (D4460) Linked List Linked List  atau dikenal juga dengan sebutan senarai berantai adalah struktur data yang terdiri dari urutan record data dimana setiap record memiliki field yang menyimpan alamat/referensi dari record selanjutnya (dalam urutan). Elemen data yang dihubungkan dengan link pada Linked List disebut Node. Biasanya didalam suatu linked list, terdapat istilah head dan tail.  Head adalah elemen yang berada pada posisi pertama dalam suatu linked list. Tail adalah elemen yang berada pada posisi terakhir dalam suatu linked list. Adapun kelebihan dan kekurangan linked list, yaitu: Kelebihan: Penambahan elemen tidak terbatas Memungkinkan untuk dihapus Kekukarangan: Hanya dapat diakses secara sekuensial Memerlukan memori dalam jumlah yang besar, untuk menyimpan data yang besar juga. Berikut beberapa macam Linked List: ...

Binary Search Trees

Binary Search Trees Pohon cari biner adalah pohon biner yang dirancang untuk menskemakan urutan data yang akan dimasukkan ke dalam memori agar proses pencarian, penghapusan dan penambahan data dapat berjalan secara efisien dibanding dengan pemasukan data secara array maupun link. Sifat dari skema pohon cari biner adalah :  (1) setiap elemen yang berada di left substrees selalu lebih kecil dari elemen yang ada di right substrees . (2) setiap elemen yang berada di right substrees selalu lebih besar atau sama dengan elemen yang berada di left substrees . Contoh: Ada 3 cara untuk melakukan penelusuran pada binary search trees, yaitu: 1. Pre Order: Print data, Telusur ke kiri, Telusur ke kanan. 2. In Order: Telusur ke kiri, Print Data, Telusur ke kanan. 3. Post Order: Telusur ke kiri, Telusur ke kanan, Print Data. Sumber: https://www.mahirkoding.com/struktur-data-binary-search-tree-bst/ https://saragusti22.wordpress.com/2015/05/04/pengantar-st...

Hashing Table and Binary Tree

Hashing Table dan Binary Tree Sebenarnya apa itu hashing? Hashing adalah metode untuk menyimpang data dalam sebuah array agar penyimpanan data, pencarian data, penambahan data, dan penghapusan data dapat dilakukan dengan cepat serta dengan constant average time. Hash Table adalah salah satu struktur data yang digunakan dalam penyimpanan data sementara. Tujuan dari hash table adalah untuk mempercepat pencarian kembali dari banyak data yang disimpan. Hash table menggunakan suatu teknik penyimpanan sehingga waktu yang dibutuhkan untuk penambahan data (insertions), penghapusan data (deletions), dan pencarian data (searching) relatif sama dibanding struktur data atau algoritma yang lain. Kelebihan dari hash table antara lain sebagai berikut: - Waktu aksesnya cukup cepat, jika record yang dicari langsung berada pada angka hash lokasi penyimpanannya. - Hash table relatif lebih cepat. - Kecepatan dalam insertions, deletions, maupun searching relatif sama.  - Cocok u...