Posts

HEAP AND TRIES

Image
Heap adalag binary tree lengkap yang berdasarkan struktur data dimana value key pada node nya diatur sedemikian rupa sehungga value key pada node anaknha tidak ada yang lebih besar dari value key node orang tuanya. Terdapat 2 macam heap : •    Min Heap Setiap elemen node lebih kecil dari anaknya •    Max Heap Setiap elemen node lebih besar dari anaknya MIN HEAP Setiap elemen node lebih kecil dari elemen anaknya. Element heap terbesar terleta di salah satu leaf node. Heap bisa diimplementasikan dengan linked-list, tetapi lebih mudah diimplementasikan dengan array. Contoh Min-Heap Aplikasi penggunaan Heap •    Priority Queue •    Selection Algorithm •    Dijkstra’s Algortihm •    Prim Algorithm •    Heap Sort Insertion di Min-Heap Menginput element baru di akhir heap. Membandingkan nilai node sekarang dengan nilai parent ...

AVL TREE

Image
AVL Tree adalah binary search tree yang dapat menyeimbangkan dirinya sendiri. Tiap subtree kiri dan kanan memiliki perbedaan tinggi maksimal 1. Terdapat 2 operation pada AVL Tree, yaitu : Insertion Deletion Proses insertion pada AVL Tree sama halnya dengan insertion pada Binary Search Tree. Dimana Node baru diposisikan sebagai leaf. Rebalance pada AVL Tree dapat dilakukan dengan Single Rotation dan Double Rotation. Terdapat 4 kasus dalam proses rebalance AVL Tree Yang pertama, node terdalam terletak pada subtree kiri dari anak kiri T. Yang kedua, node terdalam terletak pada subtree kanan dari anak kanan T. Yang ketiga, node terdalam terletak pada subtree kanan dari anak kiri T. Yang keempat, node terdalam terletak pada subtree kiri dari anak kanan T. Untuk kasus 1&2 dapat diselesaikan dengan Single Rotation. Sedangkan, untuk kasus 3&4 dapat diselesaikan dengan Double Rotation. Contoh Single Rotation Contoh Double Rotation P...

MINIMARKET

Source Code Minimarket #include<stdio.h> #include<string.h> #include<stdlib.h> int choice; int flag = 0; struct MiniMarket{ char name[2000]; int jumlah; long long int harga; struct MiniMarket *next, *prev; }*head = NULL,*tail = NULL,*curr = NULL; void pushdepan(char name[],int jumlah,long long int harga){ curr = (MiniMarket*) malloc(sizeof(MiniMarket)); strcpy(curr->name,name); curr->jumlah = jumlah; curr->harga = harga; if(head==NULL){ head = tail = curr; }else{ curr->next = head; head->prev = curr; head = curr; } tail->next = head->prev = NULL; } void pushbelakang(char name[], int quantity, long long int harga){ curr = (MiniMarket*) malloc(sizeof(MiniMarket)); strcpy(curr->name,name); curr->jumlah = jumlah; curr->harga = harga; if(head == NULL){ head = tail = NULL; }else{ tail->next = curr; curr->prev = tail...

SUMMARY

Image
Linked list   adalah suatu struktur data yg merupakan suatu rangkaian atau daftar record berjenis sama. Kemudian dihubungkan melalui bantuan pointer. Pengalokasian daftar dapat dilakukan secara dinamis sehingga isi dari daftar dapat dimanipulasi. Linked List  terdiri dari berbagai macam, contohnya: - Singly Linked List   Linked list yang pointernya hanya mengarah ke NODE yang menampung. Singly linked list hanya memiliki 1 arah dan tidak bolak-balik.   Contoh: -Doubly Linked List    Linked list yang memiliki pointer penunjuk 2 arah, yakni ke node sebelum dan ke node sesudah.    Contoh:    OPERASI PADA DOUBLY LINKED LIST       - INSERT      Insert bisa dilakukan di depan, tengah, dan di belakang   - DELETE      Sama seperti INSERT, DELETE juga bisa dilakukan di depan, tengah,dan di belakang   - TRAVERSAL      Mengunjungi semua e...

BINARY SEARCH TREE

Image
BINARY SEARCH TREE Binary search tree adalah struktur data yang mengadopsi konsep Binary Tree namun terdapat aturan bahwa setiap clild node sebelah kiri selalu lebih kecil nilainya dari pada  root node . Begitu pula sebaliknya, setiap child node sebelah kanan selalu lebih besar nilainya daripada root node. Pada Binary Search Tree terdapat aturan : ·        Setiap child node sebelah kiri harus lebih kecil daripada root nodenya ·        Setiap child node sebelah kanan harus lebih besar dariapada root nodenya Ada 3 jenis metode untuk melakukan penelusuran data pada Binary Search Tree, antara lain : ·        PreOrder ·        InOrder ·        PostOrder

HASHING TABLE & BINARY TREE

Image
HASHING TABLE & BINARY TREE HASHING TABLE HASHING adalah proses menghasilkan output yang panjangnya sama dari input yang panjangnya berbeda. Hashing digunakan untuk menandai dan mendapatkan kembali suatu hal dalam database. Hashing table adalah struktur data yang terdiri dari table yang menyimpan string yang asli. Keunggulan dari struktur hash table ini adalah waktu aksesnya yang cukup cepat, jika record yang dicari langsung berada pada angka hash lokasi penyimpanannya.  Contoh Hashing Table Implementasi hashing table dalam blockchain Hash adalah sebuah kode yang ada dalam sebuah data di Blockchain . Isi dari hash tersebut adalah serangkaian kata dan huruf. Dalam blockchain, nilai output yang dikenal sebagai hash, digunakan sebagai sebuah penanda unit untuk blok data. Blok hash bergantung pada data yang terdapat dalam blok tersebut, yang berarti setiap perubahan yang terjadi pada data tersebut membutuhkan perubahan pada blok hash. Blockchai...