Posts

Showing posts from March, 2020

Binary Search Tree

Image
BINARY SEARCH TREE Binary search tree mirip seperti Binary tree pada umumnya, tetapi binary search tree memiliki ketentuan tambahan, yaitu di sebelah kiri pada suatu node harus selalu lebih besar / kecil  dan sebaliknya untuk yang di sebelah kanan node. Seperti pada contoh diatas, angka paling atas (root) adalah 8 dan disebelah kiri 8 ada 3 yang merupakan angka lebih kecil dari 8. Dibawah 3 ada angka 1 di sebelah kiri 3 karena merupakan angka yang lebih kecil, dan di sebelah kanan 3 ada angka 6 yang merupakan angka lebih besar dari 3. angka di sebelah kanan 3 harus lebih besar dari 3 tetapi tidak boleh lebih besar dari 8, karena sudah termasuk dari bagian sebelah kiri angka 8 dimana semua yang di sebelah kiri 8 harus lebih kecil. Sama halnya di sebelah kanan 8 yang merupakan semua angka yang lebih besar dari 8. BINARY SEARCH TREE OPERATION INSERTION Insertion adalah teknik binary search tree yang mau memasukkan data / menyisipkan data pada tree. Cara pada Insertion...

Hashing and Binary tree

Image
HASHING Hashing adalah suatu teknik untuk menyimpan dan menemukan kunci secara cepat dengan  mengubah string menjadi kunci yang lebih pendek. Hashing juga dapat didefinisikan sebagai konsep mendistribusikan kunci dalam array yang disebut hash table menggunakan fungsi yang telah ditentukan yang disebut fungsi hash. Hash Table Tabel hash adalah tabel  tempat  menyimpan string asli. Indeks tabel adalah kunci hash sementara nilainya adalah string asli. Ukuran tabel hash biasanya beberapa urutan besarnya lebih rendah dari jumlah total string yang mungkin, sehingga beberapa string mungkin memiliki kunci hash yang sama. Dalam Hash table, ada beberapa feature / support yang bisa digunakan, yaitu: 1. Search 2. Insert 3. Delete Salah satu contoh kodi ng yang menggunakan feature insert: void insert(int key, int data) {    struct DataItem *item = (struct DataItem*) malloc(sizeof(struct DataItem));    item->data = data;...

Review data structure selasa 3 maret

Image
Linked List II Pada pertemuan selasa kemarin, saya mendapatkan tambahan mengenai proses pengerjaan yang diperoleh dari pemakaian single linked list Ada beberapa komponen yang dipelajari yaitu: 1. Malloc 2. Push 3. Pop Malloc Malloc adalah suatu teknik yang digunakan agar dapat mengalokasikan memory yang kita pakai ke suatu node baru yang bisa diberi value yang baru juga, yang dihubungkan dengan teknik linked list Push Push disini dalam artian kita memindahkan suatu current ke bagian selanjutnya (dalam gambar diatas digambarkan sebagai titik). Caranya adalah jika head!=tail, maka tail akan berpindah ke bagian selanjutnya dan current bisa berpindah ke bagian dari head-tail. Pop Pop bertujuan untuk menghilangkan suatu data. Sehingga data yang mau dihapus harus terlebih dahulu di skip agar data tersebut tidak kehilangan arah baru setelahnya data tersebut aman dihapus. Masalahnya dengan single linked list adalah single linked list hanya mempunyai 1 ...

Review data structure 1

Image
STACK & QUEUE Stack Diambil dari kata bahasa inggris, Stack jika diterjemahkan ke dalam bahasa indonesia berarti Tumpukan. Sama halnya seperti suatu tumpukan, misalnya tumpukan buku. Jika guru menyuruh untuk mengumpulkan buku dan buku tersebut ditumpuk, guru cenderung memeriksa buku yang paling atas terlebih dahulu, sehingga murid yang memberikan buku paling pertama akan dikoreksi terakhir. Sama halnya dengan analogi diatas, stack menggunakan sistem LIFO (last in first out) dimana data yang masuk terakhir akan keluar yang paling pertama, begitu seterusnya sehingga data pertama yang masuk akan menjadi data terakhir yang keluar. Queue Kebalikan dari Stack, queue jika diterjemahkan kedalam bahasa indonesia berarti antrian. Sehingga queue menggunakan sistem sama halnya seperti kita saat mengantri akan suatu hal, seperti belanjaan, antri atm, pengobatan di rumah sakit dll. Siapapun orang pertama yang mengantri yang akan keluar, sama halnya di data structure, konsep qu...