Postingan

Heap (Max And Min) & Tries

Gambar
Heap Heap is a Tree Type data structure that has a complete set of nodes. Heaps are used in store array. What so special about Heaps is that every time we inserted value to it, it used its own  Algorithm to sort itself and the way of indexing them is through left to right nodes in every level. You can access a parent of the node by dividing their index by 2. Types of Heap  A. Max Heap In Max Heap Binary Tree, The parent of the node child holds a value that is greater than its child value. The Max Value of the Tree is located at the Root of the tree. B. Min Heap In Max Heap Binary Tree, The parent of the node child holds a value that is smaller than its child value. The Min Value of the Tree is located at the  Root  of the tree. Min Max Heap C. Min Max Heap Min Max Heap is a special case of Heap. It lets you build a tree structure that has an alternating structure where odd heights of the tree prioritize minimum value while the even heights prioritize m

AVL Tree

Gambar
AVL TREE AVL Tree (Adelson-Velsky & Landis Tree) adalah sebuah data struktur turunan dari data struktur tree yang dapat disebut juga sebuah self balancing binary tree  atau binary search tree yang memiliki kemampuan untuk menyeimbangkan dirinya. Maksud dari keseimbangan tree ini adalah perbedaan kedalaman dari tree yang dimaksud. Gambar diatas merupakan salah satu contoh dari AVL tree yang dimaksud. pada gambar tersebut, Binary Tree Search ini dapat dikatakan seimbang karena perbedaan pada jumlah subtree setiap root tidak lebih dari satu. Rotation Sebelum kita memasuki insertion dan deletion, ada baiknya kita terlebih dahulu memahami konsep rotation yang krusial untuk kedua langkah tersebut. Apa sebenarnya rotation itu? Rotation dalam konteks ini bisa dikatakan penggantian pointer dari node yang tidak seimbang dengan melakukan pemutaran node pada tree yang tidak seimbang. Insertion dan Deletion Untuk insertion, akan dilakukan pemasukan data seperti biasa pada BST,

Stack & Queue

Stack & Queue Stack dan Queue adalah sejenis struktur data yang mengimplementasikan logika di dunia nyata, dimana pada konsep programming, konsep data struktur ini dapat dimplementasikan dengan pengunaan Linked List atau Array. Stack Pada data struktur Stack, kita dapat membayangkan sebuah stack itu seperti buku yang di tumpuk. Dimana, untuk mencapai buku yang terletak di urutan paling bawah, kita harus terlebih dahulu memindahkan buku yang dari paling atas menuju ke buku sebelum yang paling bawah, baru kita dapat mengambil buku yang paling bawah. Stack menggunakan konsep Last In, First Out (LIFO), dimana data yang terakhir kali masuk ke data struktur Stack akan keluar duluan. Berikut ini adalah contoh kodingan saya mengenai Stack: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> char sandwich[100][100] = { "                                                          //  ", "                   

Binary Tree Search

The Binary Tree Search Binary tree search adalah sebuah data struktur turunan dari Tree data struktur yang berfungsi sebagai penyimpan data secara berurut, dimana setiap node mempunyai anak anak dimana anak kiri dari node memiliki nilai yang lebih kecil dari nilai pada parent dan untuk node kanan, nilainya lebih besar dari node parent. Berikut ini adalah codingan yang saya buat untuk BST ini: #include<stdio.h> #include<stdlib.h>   struct node {     int number;     struct node *leftChild, *rightChild; }; int menu() { int choice; printf("Binary Tree Search Program\n"); printf("==========================\n"); printf("1.Add Node\n"); printf("2.Print Node\n"); printf("3.Delete Node\n"); printf("4.Exit Program\n"); printf("==========================\n"); printf(">> "); scanf("%d", &choice); return choice; } struct node *newNode(int item) {

Review Materi Semester 2 Data Structure

Gambar
Pointer Apa itu pointer? Pointer, seperti nama bahasa inggrisnya, adalah tipe data di bahasa pemprograman c dan c++ dan berperan dalam penyimpnan "address" atau alamat dari suatu data dalam suatu block memori. Linked List Apa itu Linked List? Seperti namanya, Linked list adalah struktur data yang dimodelkan linier, hampir sama dengan Array, well, keduanya adalah struktur data linier. Mereka mungkin terdengar sama, tetapi ada perbedaan di antara mereka. Apa yang membedakan antara array dan Linked List? Sementara kita tahu bahwa array disimpan dalam bentuk pada memori yang berdekatan, ini berbeda dalam kasus daftar tertaut, di mana mereka tidak benar-benar menggunakan lokasi yang berdekatan, melainkan, mereka menautkan satu sama lain menggunakan pointer. Uniknya, Linked list dapat melakukan penambahan dan penghapusan dari elemen apapun di lokasi manapun, asalkan mereka terhubung. Linked list dapat dibagi menjadi 4 jenis : 1. Si

Hash and Trees

Gambar
This GSLC Session, My lecturer asking us to make a blog about Hashing and Trees. So here it is, my take on Hashing and Trees Data structure. What is Hashing? Hashing is a technique used for temporary storing and retrieving keys in a rapid and fast manner. Hashing is used as a data structure because for example, if you want to find if there is a certain string that exists in an array, we could make a key to connect it with so it's easier and more efficient to do search function for it.  Hashing is used to index and retrieve items in a database because it is faster to find the item using shorter hashed keys than to find it using the original value. The example of hashing in real-life implementation is cryptocurrency. Hash Table A hash table is a data structure that consists of a table and a function to map unique key values for each row and become the number of record locations in a table. The advantage of hash tables is that the time to access is faster because the recor