Skip to main content

Posts

Heap and Tries Hai semuanya, dalam blog kali ini saya Viriyaputra Lawijaya ingin menjelaskan lanjutan dari blog data structure yang pernah saya bahas. Dalam materi kali ini yang akan dibahas adalah Heap dan Tries. I. Heap Heap merupakan salah satu bagian dari data structure yang mengimplementasikan priority queue dan merupakan sebuah binary tree yang lengkap yang biasanya diimplementasikan menggunakan array. Root awalnya adalah index pertama dari array. Penggunaan heap umummnya dibagi menjadi 3 yaitu : 1. Max heap 2. Min heap 3. Min-Max heap Masing masing heap mempunyai cara yang berbeda dalam menginsert dan mendelete data datanya tetapi logicnya hanya sedikit terbalik balik. 1.Max Heap Sesuai dengan namanya yaitu maximum yang berarti array nya disusun dari yang paling besar ke paling kecil, dengan artian parentnya pasti lebih besar atau sama dengan childnya. Berikut saya berikan contoh gambar :  - Insertion max heap, taruhlah angka ya...
Recent posts
AVL TREE Hai semuanya, sudah lama saya tidak mengupdate blog saya dan kali ini saya akan update mengenai lanjutan dari data structure yaitu AVL Tree, materi AVL Tree ini secara tidak langsung berhubungan dengan Tree yang pernah saya bahas sebelumnya. Jadi sangat di rekomendasi untuk membaca atau mengerti materi Tree dan Binary Search Tree sebelum membaca Blog ini agar anda lebih mudah memahami konsep Adelson-Velskii dan Landis Tree alias AVL Tree. AVL Tree adalah cabang tipe dari binary search tree, node node yang dimasukan pun juga sama seperti binary search tree dengan tambahan AVL tree harus seimbang. Maksud dari seimbang adalah perbedaan tinggi tinggi nodenya tidak lebih dari 1, mari kita bahas apa saja komposisi yang dipunyai avl tree. Sebuah AVL tree harus mempunyai root, root tersebut tidak mempunyai anak atau mempunyai satu atau dua anak, anakan dari root tidak mempunyai anak atau mempunyai satu atau dua anak, tiap anak hanya bisa maksimal mempunyai dua anak, tiap node ana...
Dreamers market source code #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <time.h> struct barang{ int kuantitas; int harga; char nama[255]; struct barang *next, *prev; }*head,*tail,*curr; void pushHead(int kuantitas,char nama[]){ curr = (struct barang*)malloc(sizeof(struct barang)); curr->kuantitas = kuantitas; curr->harga = (rand()%1000)+1; strcpy(curr->nama,nama); if(head==NULL){ head = tail = curr; } else{ curr->next = head; head->prev = curr; head = curr; } head->prev = NULL; tail->next = NULL; } void pushTail(int kuantitas,char nama[]){ curr = (struct barang*)malloc(sizeof(struct barang)); curr->kuantitas = kuantitas; curr->harga = (rand()%1000)+1; strcpy(curr->nama,nama); if(head == NULL){ head = tail = curr; } else{ curr->prev = tail; tail->next = curr; tail = curr; } head->prev = NUL...
Summary Hai semuanya, kali ini saya ingin memberikan kalian ringkasan mengenai pelajaran pelajaran data strucure dari blog saya sebelumnya. I. Circular Single Linked List Sesuai dengan namanya, Circular Single Linked List terdiri dari kata circular dan single linked list, circular artinya berputar yang maksudnya adalah pointer next pada linked list menunjuk pada dirinya sendiri sehingga membentuk suatu siklus, dan single linked list adalah sebuah linked list yang hanya memiliki satu arah dan tidak bisa bolak balik seperti double linked list. II. Doubly Linked List Sesuai dengan namanya, Double Linked List adalah linked list yang tidak hanya terdiri dari satu arah saja, tetapi bisa dua arah, maksudnya adalah di single linked list kita hanya mempunyai pointer next dan kita tidak bisa mengakses node sebelumnya dan dengan doubly linked list kita menambahkan pointer prev dimana kita bisa bebas mengakses node di next atau previous. III. Circular Doubly Linked List Sesuai den...
Binary Search Tree Halo lagi semuanya Viriyaputra Lawijaya disini, sebelumnya kalian telah belajar apa itu tree dan binary. Jika belum kalian bisa membacanya di blog blog saya sebelumnya untuk lebih memahami lagi materi yang akan saya sampaikan kali ini yaitu Binary Search Tree. Binary search tree merupakan sebuah binary tree yang unik dimana cabang dibagian kirinya pasti lebih kecil dari node awalnya dan cabang dibagian kanannya pasti lebih besar dari node awalnya. Berikut saya berikan  yang saya ambil dari geeksforgeeks : Di dalam Binary Search Tree atau bisa kita singkat sebagai BST banyak terdapat hal yang kita lakukan seperti Searching, Insert dan Delete data data di BST tersebut. Saya akan berikan contoh koding yang saya dapat dari codesdope.com, terima kasih kepada codesdope. Di dalam kodingan ini akan terdapat bagaimana cara kita mensearch BST, meng insert data ke dalam BST, dan menghapus data data yang ada di BST selain itu ada juga mencari nila...
Hash Table & Binary Tree Hai lagi semuanya saya Viriyaputra Lawijaya, kembali lagi dengan blog saya yang membahas data structure. Sekarang saya mau membahas data structure lanjutan yaitu Hash Table dan Binary Tree, semoga blog ini dapat membantu kalian mempermudah mempelajari dan memahami hash table dan binary tree. I. Hash Table Jadi hash table itu adalah cara untuk memasukan data data ke sebuah tempat yang sudah ditentukan dengan lebih cepat dari biasanya. Di dalam hash table biasanya menggunakan fungsi hashing untuk menentukan data data yang dimasukan. Berikut saya akan berikan contoh kode yang saya dapat dari tutorialspoint.com, terima kasih kepada tutorialspoint.com karena telah memberikan kode yang jelas dan mudah dipahami. Contoh kode :  #include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdbool.h> #define SIZE 20 struct DataItem {    int data;       int key; ...
Stack and Queue in Data Structure Halo lagi semuanya, saya Viriyaputra Lawijaya kali ini ingin melanjutkan tentang Data Structure. Sebelumnya saya pernah membahas tentang single linked list dan double linked list. Nah kali ini yang akan saya bahas adalah mengenai Stack dan Queue di dalam Data Structure. I. Stack Stack atau dalam bahasa Indonesia adalah tumpukan, yang artinya suatu struktur data yang tersusun secara tertumpuk dan menggunakan prinsip LIFO (Last In First Out) yang dimana data data yang dimasukan akan menumpuk dan jika dikeluarkan yang dikeluarkan adalah data terakhir yang dimasukan.  Kalau masih bingung mari saya beri gambarannya dengan sebuah contoh, anggap saja anda mempunyai suatu kotak yang seukuran dengan buku, jika anda ingin memasukan buku kedalam kotak pasti anda akan memasukkannya dari atas, begitu juga dengan buku selanjutnya dan buku selanjutnya. Lalu jika anda ingin mengambil buku ditengah tengah mau tidak mau anda harus perlahan mengambil bu...