Posts

Showing posts from March, 2020

Hash Tables & Binary Tree

Image
Hash Table Hash table adalah sebuah struktur data yang menyimpan data dalam sifat yang asosiatif. Dalam hash table, data disimpan di dalam format array, dimana setiap data value memiliki indeks unik. Akses ke data (searching) menyadi sangat cepat kalau kita tau index / key dari data yang dimaksud. Contoh: Katakanlah data yang ingin di store adalah nama nama orang sebanyak 11. Dari nama nama ini kita bisa generate secara manual key yang dapat membuat searching menjadi lebih cepat.     Dalam kasus diatas, kita dapat menghitung total dari ASCII masing masing nama lalu dimodulus dengan size array yaitu 11. - Bea = 264 % 11 = 0 - Tim = 562 % 11 = 1 dst.     Dalam kasus ini tidak ada data yang memiliki key index yang sama, bila ada 2 data atau lebih yang memiliki key yang sama maka terjadilah COLLISION. Ada banyak cara untuk menangani collision yang paling simpel adalah array probing, yaitu jika A memiliki key 0, lalu selanjutnya diinput B dengan key yang juga...
Linked List Linked list / senarai berantai adalah struktur data yang tersusun secara linear dan saling menyambung. Linked List terdiri dari beberapa node yang saling terkoneksi, setiap node dapat menampung lebih dari 1 tipe data, jadi berbeda dengan Array yang hanya bisa menampung tipe data sejenis, linked list dapat memungkinkan penyimpanan data yang beragam. Selain menyimpan data-data, sebuah node juga menyimpan alamat dari node tetangganya. Tergantung pada jenis linked listnya, pada umumnya ada single dan double, ada juga sirkular. Pada Singly Linked List (single linked list) terdapat sederetan node yang dimulai dari Head dan berakhir di Tail. Node-Node ini menampung data dan juga menampung alamat Node sebelah kanannya / node setelahnya. Beda halnya dengan Double Linked List, Node pada Double Linked List menyimpan data-data dan juga menyimpan alamat Node selanjutnya DAN sebelumnya. Double linked list memiliki keuntungan fleksibilitas dalam mengatur konten yang ada di dalam node...

Rangkuman Singkat Pointer

Image
GSLC 1 Pointer Adalah sebuah objek atau variabel yang berguna untuk menampung variabel, penggunaan pointer sangat membantu dalam menyusun projek projek koding dalam skala besar, pointer digunakan untuk Dynamic Memory Allocation, pointer adalah hal yang sangat krusial dalam Data Structure. String dan array lebih effisien bila digunakan dengan pointer, lebih tepatnya efisien dalam resource / memori. Contoh penggunaan sederhana pointer : pointer juga dapat digunakan untuk passing data parameter ke function. Gambar diatas, menunjukan bahwa variabel yang digunakan sebagai parameter yang menggunakan pointer akan langsung otomatis berubah dalam int mainnya. fungsi tukar diatas akan langsung mengubah X menjadi 2, dan Y menjadi 10 dalam int main. https://www.quora.com/What-are-the-advantages-of-a-pointer-in-the-C-programming-language