Skip to main content

Posts

Showing posts from March, 2020

Binary Search Tree

Christophorus Wilson Sucahyo 2301869273 Binary Search Tree (BST) Binary Search Tree adalah struktur data yang memiliki searching dan sorting yang cepat, serta insertion dan deletion yang mudah. Untuk node pada BST, node kiri akan bernilai lebih kecil dari parent nodenya sedangkan node kanan akan bernilai lebih besar dari parent nodenya (dengan asumsi bahwa key nya berbeda)   Pada BST, terdapat 3 basic operations : -           find(x) : mencari key x di dalam BST -           insert(x) : memasukkan key x ke dalam BST -           remove(x) : menghapus key x dari dalam BST Operation : Search ( find(x) ) -           Dimulai dari root -           Jika x lebih kecil dari root, maka cari ...

Hashing, Hash Table, and Binary Tree

Christophorus Wilson 2301869273 Hashing Hashing adalah semua method yang digunakan untuk menyimpan dan mengambil key dengan cepat. Di dalam hashing, string diubah menjadi bentuk string yang lebih pendek untuk mewakili string aslinya. Hashing digunakan untuk menjadi index dan mengambil elemen di database karena pencariannya lebih cepat menggunakan hashed key dibandingkan dengan value aslinya. Distribusi hashing ke dalam sebuah array disebut dengan Hash Table dengan menggunakan fungsi yang disebut dengan Hash Function. Hash Table Hash Table adalah array tempat kita menyimpan value asli dari sebuah string. Index dari array tersebut adalah hashed key yang diambil dari value asli string tersebut. Dari gambar diatas dapat dilihat bahwa apple diletakan di index 0 setelah   melewati proses Hash Function. Hash Function Ada beberapa cara untuk mengubah suatu string menjadi sebuah hashed key. à Mid-square à Division (paling sering digunakan) à Folding à Dig...

Stack and Queue

Christophorus Wilson 2301869273 Stack vs Queue Keduanya adalah struktur data yang berfungsi untuk menyimpan data secara berurutan. Perbedaannya terdapat pada sifatnya . Sifat dari Stack adalah LIFO (Last In First Out). Analoginya adalah seperti buku yang ditumpuk, buku yang terakhir kali diletakkan (paling atas)   adalah yang pertama kali diambil. Sedangkan sifat dari Queue adalah FIFO (First In First Out). Analoginya seperti mengantri di kasir pada umumnya. Orang yang pertama kali masuk adalah yang pertama kali dilayani. Stack Stack dapat direpresentasikan menggunakan array dan linked list. Pada array, terdapat 2 variabel TOP dan MAX. TOP adalah variabel penanda index paling kanan yang berisi. Jadi apabila variabel TOP = NULL , maka berarti array tersebut kosong. Sedangkan MAX adalah total elemen yang dapat disimpan dalam array tersebut. Sedangkan pada linked list, pointer START digunakan sebagai variabel TOP. Jika TOP = NULL , maka berarti link...

Linked List

Christophorus Wilson Sucahyo 2301869273 Pointer Pointer is used to pass information back and forth between a function and its reference points. Pointer dapat menyimpan alamat memory dan menyimpan sebuah value. Ex. Int *p, a = 10; p = &a; *p=3; Maka di value di variable a akan berubah menjadi 3. Array Kita dapat menginisialisasi elemen untuk disimpan di dalam array, menginput elemen melalui program, atau memasukan elemen. Ex. Inisialisasi elemen Int angka[3] = {3, 2, 1}; Input elemen Int angka[3]; for(int index=0;index<3;index++){ scanf(“%d”, &angka[index]); } Memasukan elemen Int angka1[3] = {3, 2, 1}; Int angka2[3]; for(int i=0;i<3;i++){ angka2[i]=angka1[i]; } Structure Structure adalah tipe data yang dibuat sendiri oleh user yang dapat menyimpan banyak tipe data sekaligus. Ex. Struct mahasiswa{ Int age; Char nama[30]; Char nim[10]; Double gpa; }; mahasiswa y; // artinya sebuah variabel da...