Senin, 30 Mei 2016

31 - may 2016
HEAP

adalah salah satu binary complete tree dan harus memenuhi syarat berikut
min heap : Setiap node memiliki nilai lebih kecil dari anak nya
max heap : setiap node memiliki nilai lebih besar dari anak nya
min-max heap : root bernilai terkecil pada level ganjil nilainya selalu maximal sedangkan pada level genap nilainya selalu minimal


Min Heap :

Sehingga Root adalah nilai terkecil sedangkan nilai terbesar ada di Leaf-leaf
Heap dapat di aplikasikan di Linked list tapi lebih mudah kita membuat nya melalui Array

contoh :
http://www.studytonight.com/data-structures/images/heap-property-example.png
Pada saat menginsert di Min-Max Heap kita harus ingat membandingkan nya hanya pada level yang sesama seperti genap dengan genap - ganjil dengan ganjil

heap di gunakan atau di aplikasikan di
  - Priority Queue
  - Selection Algorithm (find min/max, median, k-th largest, dll)
  - Dijkstra's Algorithm (find shortest path pada graph)
  - Prim Algorithm (find min spanning tree)

Hubungan antara Node :
Parent X = X / 2
Left Child X = 2*X
Right Child X = 2*X+1

Insertion
-Masukan node yang ingin dimasuki ke node paling terakhir di masukan
-bandingkan dengan parent nya jika dia lebih kecil dari parent nya maka tukar dengan parent tersebut
 jika memang nilai tersebut dapat di bandingkan terus maka dia dapat mencapai root



Deletion
delete root
-Nilai root di ganti dengan elemen yang terakhir dimasukan
-cocokan nilai yang di pindahkan itu dengan  nilai child left & right
-jika lebih besar nilai nya maka kita dapat memindahkan itu ke child nya kemudian dapat di check lagi jika dia masih punya child berikut nya








Tries

Struktur data tree yang digunakan untuk menyimpan sebuah string
di ambil dari kata retrieval 
karena kita dapat mencari yang kita inginkan cukup dengan menulis beberapa huruf saja



Picture2

Jika anda liat di atas saat  anda memilih A makanya akan bsa menjadi ALGO / API
dan jika anda memilih B maka perlu di tambahkan O untuk mendapat BOM / BOSAN / BOR

Hashing
adalah transformasi daripada suatu string dengan mengambil karakter terdepan dan

mengubahnya menjadi value atau key yang mewakili suatu string. Digunakan di database untuk

mengindex
contoh:
Untitled
Cara cara untuk memasukan string ke table:
- Mid Square
- Division
- Folding
Jika suatu string mirip dengan string lainnya (misal char dengan charm) dan menghasilkan index
yang sama, maka akan terjadi collision, untuk mengatasinya maka ada beberapa metode:
- Linear Probing – dengan menstore string ke index setelahnya misal Char - Charm char berlokasi di index 2 lalu charm akan berada di index ke 3
- Chaining – dengan menstore string dalam suatu ( Char -> Charm )chain menggunakan linked list.

Tidak ada komentar:

Posting Komentar