Senin, 30 Mei 2016

Min Heap, Max Heap, Min Max Heap, Tries,Hashing, Collision

Dalam pertemuan kali ini, kami membahas mengenai Max Heap, Min Heap, Min-Max Heap, Tries dan Hashing . Pertama kita akan membahas Heap Concept , Heap Concept merupakan complete binary tree yang disusun dengan Heap Property . Heap Property terbagi menjadi 2, yaitu Min Heap dan Max Heap. Konsep Min Heap , dimana parent node lebih kecil dari child nodenya, sebaliknya dalam konsep Max Heap parent nodenya lebih besar dari child nodenya.
Min Heap
Di dalam konsep Min Heap, node yang berada dibawahnya atau parent nilainya akan lebih kecil dibandingkan dengan node anaknya. Maka dapat disimpulkan node root merupakan node dengan nilai paling kecil , dan salah satu node dari leaf node merupakan node yang nilainya paling besar .
Contoh:

Insertion dalam Min Heap:
Jika kita akan menginsert sebuah angka, maka kita harus meletakkan node tersebut di tempat setelah terakhir. Lalu, kita cek kondisi dengan parent nya, jika node tersebut lebih besar dari parent nya maka di swap, lakukan cara tersebut sampai root
Contoh:

Deletion dalam Max Heap:
Jika kita akan menghapus suatu node, maka node yang akan menggantikan adalah node yang paling terakhir. Setelah itu cek kondisi dengan child nya, jika node tersebut lebih besar dari child nya maka di swap, lakukan cara tersebut sampai leaf
Contoh:

Max Heap
Konsep Max Heap hanya berbeda sedikit , perbedaannya hanya ada di node paling atas akan memiliki node dengan nilai terbesar dan salah satu node dari leaf node akan memiliki nilai yang terkecil

Min Max Heap
Konsep Min Max Heap adalah level root akan bernilai minimum, selanjutnya akan bernilai maximum, dan seterusnya. Nilai terkecil berada di root dan nilai terbesar berada di salah satu node pada level setelah root. Level min hanya dapat dibandingkan dengan level min, dan sebaliknya.
Contoh:

Insertion dan Deletion sama seperti Min Heap atau Max Heap namun, pengecekan kondisi hanya dapat dilakukan di level sesama min atau max
Tries Concept
Berasal dari kata reTRIEval yang berarti untuk menyimpan asosiatif array dan jika dalam aplikasinya trie concept ini seperti auto-complete.
Contoh:


Hashing
Menntransformasikan string ke kata yang lebih pendek/key yang merepresentasikan original string-nya. Dengan tujuan untuk mempermudah pencarian.
Contoh:
Nama Key
Kura-kura K
Pecel Goreng P
Nasi Uduk NU
Nasi Putih NP

Hash Table
h[] Value
0 atan
1
2 char
3 define
4 exp
5 float
.
.
25

 Hash Function
Mid Square , mengambil tengahnya
Division, jumlah yang dimodulus lalu diambil indexnya
Folding, dibagi lalu digabung lagi

Collision
Kondisi dimana terdapat 2 value dengan awalan yang sama, maka ada  cara menangani collision ini:

1. Linear Probling, mencari yang setelahnya kosong
h[] value Step
a 0 Anggur 1
b 1 Apel 2
c 2 Carrot 1
d 3 Durian 1
e 4 Belimbing 4
f 5 Fuji 1
g 7 Grape 1

2.Chaining, sesuai abjad(Linked List)
h[] value
0 anggur->apel
1 belimbing
2 carrot
3 durian
4
5 fuji
6 grape






Tidak ada komentar:

Posting Komentar