Postingan

CA01-011 Heap & Tries

Gambar
Max Heap : pohon yang parentnya selalu lebih besar dari anaknya Min Heap : pohon yang parentnya selalu lebih kecil dari anaknya Min-Max Heap : Pohon yang selang-seling parentnya Heap biasanya menggunakan array, tapi bisa menggunakan linked list juga. Dimulai dari 1 untuk memudahkan mencari node. Insert dalam heap dilakukan dengan seperti berikut: 1.        Insert node seperti dalam Binary Tree 2.        cek apakah angka tersebut memenuhi syarat (lebih besar dari parentnya untuk min heap, lebih kecil dari parentnya untuk max heap) 3.        Jika salah, maka angka tersebut ditukar dengan parentnya 4.        lakukan step 2 dan 3 sampai node tersebut memenuhi syaratnya, atau node tersebut berada di posisi root aksi yang dilakukan tersebut disebut Heapify Up untuk delete dilakukan sebagai berikut: 1.        hap...

CA01-006

Linked List Butuh malloc untuk alokasi value ke memory yang berbeda Pointer next dibuat untuk menyimpan data setelahnya, struct data untuk recursive Indikator posisi awal dengan if head==NULL Pergeseran dilakukan dengan next->curr Tail->Next==NULL Sebagai penanda akhir list Next adalah alamat curr setelah bergeser Menghapus/pop dengan menggeser curr/tail ke alamat sebelumnya Double Linked List Double linked list adalah single linked list yang memiliki 2 arah. Tidak seperti single linked list yang hanya bergeser dari head ke tail, double linked list bisa begeser ke arah sebaliknya Keuntungan Double linked List 1.         Implementasinya tidak jauh berbeda dari Single linksed list 2.         Mampu bergeser dua arah 3.         Deletion lebih mudah dilakukan, karena tidak perlu menggunakan pointer node dan pointer node sebelum yang akan...

CA01-004

BST/ Binary Search Tree BST adalah sebuah cara untuk mengurutkan data berdasarkan Hieerarki. Karena Binary, masing-masing node hanya punya boleh keturunan maksimum dua. Dalam penyusunannya, data yang lebih besar ada di kanan dan data yang lebih kecil ada di kiri, bisa juga sebaliknya. Insert: insert dalam BST setelah insert pertama adalah ·          Jika node yang dimasukkan lebih besar dari node atasnya, maka keturunannya akan ada di bawah dan diletakkan di sisi kanan node tersebut. ·          Jika node yang dimasukkan lebih kecil dari node atasnya, maka keturunannya aka nada di bawah dan diletakkan di sisi kiri node tersebut Pop : Pop dalam BST memiliki aturan sebagai berikut: ·          Jika pop dilakukan pada leaf/ node yang tidak memiliki keturunan maka node tersebut akan langsung di pop ·          Jika pop...

CA01-003

Gambar
Hashing Table and Binary Tree   Hashing adalah pengubahan dari sebuah string of characters ke sebuah ‘kunci’ yang mewakili string awal. Hashing dilakukan untuk memberikan index dan mengambil item yang ada di suatu database karena pencarian akan lebih cepat melalui hash ‘key’ nya yang sudah disingkat, dibandingkan mencari secara keseluruhan.             Hashing juga biasa digunakan untuk mengencrypt sebuah data. Hash key yang dibentuk biasanya berdasarkan suatu hitungan matematika. Saqlah satu contohnya adalah dengan message. Dari message yang akan dikirim, akan dibuat sebuah hash, dan juga enkripsi untuk pesan itu sendiri. Pesan yang telah dienkripsi dan hash yang telah dibuat akan diterima di end yang lain. Setetalh diterima, maka receiver akan mendecrypt hash dan pesan tersebut. Setelah itu, receiver akan mengenerate hash sesuai dengan pesan yang didecrypt. Jika hash yang di generate receiver sama dengan hash dari sende...