Posts

Showing posts from March, 2020

Binary search tree

Binary Search Tree Tree adalah salah satu bentuk struktur data yang menggambarkan hubungan hierarki antar elemen-elemennya. Sebuah nide dalam tree biasanya memiliki beberapa node lagi sebagai percabngan atas dirinya. Lalu ada yang namanya Binary Tree. Sebenarnya binary tree mirip dengan tree. hanya saja, kita akan mengambil sifat bilangan biner yang selalu bernilai 1 atau 0 (2 pilihan). binary tree mempunyai maksimal 2 percabangan Binaryb Search Tree adalah struktur data yang mengadopsi knsep binary tree namun terdapat aturan bahwa setia child node sebelah kiri lebih kecil dari pada root node dan child node sebelah kanan harus lebih besar dari root node. tujuan dari membedakan nilai kiri dan kanan adalah untuk memberikan efisiensi terhadap proses searching aturan dari Binary Search Tree: Sertiap child node sebelah kiri harus lebih kecil daripada root nodenya  Sertiap child node sebelah kanan harus lebih besar daripada root nodenya Source:  https://www.mahirkoding...

Hashing Table dan Binary Tree

Image
Hashing Table dan Binary Tree 1. Hash Table Hash Table adalah sebuah struktur data yang terdiri atas sebuah tabel dan fungsi yang bertujuan untuk memetakan nilai kunci yang unik untuk setiap record (baris) menjadi angka (hash) lokasi record tersebut dalam sebuah tabel.  Keunggulan dari struktur hash table ini adalah waktu aksesnya yang cukup cepat, jika record yang dicari langsung berada pada angka hash lokasi penyimpanannya. Akan tetapi pada kenyataannya sering sekali ditemukan hash table yang record-recordnya mempunyai angka hash yang sama (bertabrakan). operasi pada hash table: insert: di berikan sebuah key dan nilai, insert nilai dalam tabel find: diberikan sebuah key, temukan nilai yang berhubungan dengan key remove: diberikan sebuah key,temukan nilai yang berhubungan dengan key, kemudian hapus nilai tersebut getIterator: mengambalikan iterator,yang memeriksa nilai satu demi satu contoh: struct hashnode_s { char *key; void *data; struct hashnode...

Linked List II

Mempelajari bagaimana cara penggunaan push. Push Dalam Linked List ada beberapa tipe push yaitu push depan, push tengah dan push belakang. -Push depan push depan merupakan penyisipan di akhir list, sehingga pointer tail berpindah ke elemen baru. contoh: void pushHead(int nim, char nama[]) { struct tnode *node = (struct tnode *) malloc(sizeof(struct tnode)); node->nim = nim; strcpy(node->nama, nama); if(head == NULL) { head=tail=node; } else { node->next = head; head = node; } }//void untuk tambahin ke depan -Push belakang push belakang merupakan penyisipan di awal list, sehingga pointer head akan berpindah ke elemen baru. contoh: void pushTail(int nim, char nama[]) { struct tnode *node = (struct tnode *) malloc(sizeof(struct tnode)); node->nim = nim; strcpy(node->nama, nama); if(head == NULL) { head=tail=node; } else { tail->next = node; tail = node; tail->next = NULL...