Postingan

Menampilkan postingan dari Maret, 2020

Binary Search Tree (BST)

Struktur data binary search tree memberikan fitur searching dan sorting yang lebih cepat. insert dan delete yang lebih mudah juga.  Aturan penempatan node :  1. Untuk node yang lebih kecil dari node yang dibandingkan maka node tersebut ditempatkan dikiri 2. Untuk node yang lebih besar dari node yang dibandingkan maka node tersebut ditempatkan dikanan 3. Setiap node nilainya berbeda 4. Perbandingan mulai dari root, terus turun sampai dapat tempat kosong Operasi pada BST 1. search(x) 2. insert(x) 3. remove(x) 1. Search Misalnya nilai yang mau kita cari adalah x  - Mulai dari root  - Jika root mengandung x maka proses selesai  - Jika x < nilai root cari secara rekursif pada subtree kiri, Jika tidak maka cari  secara rekursif pada subtree kanan 2. Insert  Misalnya nilai yang ingin kita masukkan adalah x  - Proses mulai dari root  -  Jika x < nilai root cari secara rekursif pada subtree kiri, Jika tidak maka cari...

Hash Table

1. Hash Table •  Hashing adalah teknik yang digunkan untuk menyimpan dan mengambil kunci dalam jangka waktu  yang cepat.  •  Dalam hashing, sebuah data misalnya string dapat diambil bagiannya(karakter) kemudian dijadikan key untuk disimpan pada table •  Hashing menggunakan indek untuk mengambil data pada penyimpanan untuk mempercepat pencaharian menggunakan hashed yang lebih pendek daripada nilai yang sebenarnya(lebih panjang). •  Hashing juga bisa disebut konsep mendistribusikan indeks kedalam sebuah  hash table menggunakan fungsi yang disebut  hash function . 2. Hash Function Ada banyak cara hashing string menjadi key. - Mid-Square - Division - Digit Extraction - Rotating Hash -Mid-Square     Key yang didapat dikudratkan kemudian diambil bagian tengah dari key     contohnya: key 3121 di kuadratkan menjadi 9740641 sehingga diambil bagian tengahnya 406    Penggunaan kuadrat agar address y...

Singly Linked List and Doubly Linked List

Singly Linked List Singly Linked List adalah struktur data yang cara kerjanya membuat node baru kemudian diberi tangan yang nunjuknya kesamping  yaitu pointer next. Variabel global yang dipakai adalah head untuk menunjukkan node pertama dari linked list, tail untuk menunjukkan node terakhir dari linked list, dan curr yang nantinya akan dipakai untuk berpindah-pindah dari node satu ke node yang lain. Kita bisa memasukkan node baru kedalam singly linked list dengan cara memasukkannya ke head,tail, atau mid dengan fungsi pushHead, pushTail, pushMid. -pushHead; Caranya adalah dengan mengecek kondisi terlebih dahulu, apabila headnya null maka pointer head dan tail menunjuk ke node itu. Jika headnya tidak null, maka kita akan memasukkan nilai next dari node adalah head dan kita pindahkan pointer head untuk menunjuk nodeyang tadi. -pushTail: Caranya adalah dengan mengecek kondisi terlebih dahulu, apabila headnya null maka pointer head dan tail menunjuk ke node itu. Jika headnya ti...