Posts

Showing posts from April, 2020

AVL Tree

Image
Pendahuluan Binary Search Tree (BST) yang telah dipelajari selama ini masih memiliki kekurangan. Jika tree yang terbentuk berupa Skewed Tree, maka diperlukan pencarian sebanyak jumlah data yang ada (n). Untuk itu, kita akan menggunakan AVL Tree. AVL Tree merupakan subtipe dari Binary Search Tree. Fyi, AVL Tree diambil dari nama penemunya yaitu Adelson, Velskii dan Landis (sumber: https://www.freecodecamp.org/news/avl-tree-insertion-rotation-and-balance-factor/ ). Dengan adanya AVL Tree, maka pencarian yang dilakukan dapat dikurangi hingga berjumlah 2 log(n). Ciri-ciri Konsep tree :  https://linked-list-dikky.blogspot.com/2020/03/hashmap-and-binary-tree.html BST               :  https://binustreereview.blogspot.com/2020/03/binary-search-tree.html AVL Tree memiliki semua ciri yang dimiliki oleh Tree dan BST dengan satu tambahan ciri, yaitu: - Perbedaan tingkat (depth) dari subtree kiri dan kanan dari setiap node tidak bo...

Code Doubly Linked List

Nama : Dikky Larson NIM   : 2301853930 Berikut ini konsep coding menggunakan linked list lengkap beserta catatan dan dokumentasinya... Silahkan dibaca dan dipahami ya 😊 #include<stdio.h> #include<stdlib.h> #include<string.h> // global variable here int input = 0; int totalCheckout = 0; // double linked list struct initialization struct item{ char name[50]; int qty; int price = (rand() % 10000); struct item *next, *prev; }; // declare head tail as null variable struct item *head = NULL, *tail = NULL; // create items method here void insertItem(char name[], int qty){ struct item *newItem = (struct item*) malloc(sizeof(struct item)); // insert item details here strcpy(newItem->name, name); newItem->qty = qty; // next and prev = NULL newItem->next = newItem->prev = NULL; // sorted insert insert logic based on item name if(head == NULL){ // if new item is the first item, assign head and tail to the...

Review Materi Data Structure

Image
Nama : Dikky Larson NIM   : 2301853930 Pada kesempatan kali ini , saya akan mereview apa yang saya telah dipelajari sejauh ini. Langsung saja kita bahas satu per satu topik mengenai data structure ini 😊. Linked List 1. Definisi 1.1.  Linked List  illustration - https://www.geeksforgeeks.org/wp-content/uploads/gq/2013/03/Linkedlist.png Linked List  merupakan sebuah metode penyimpanan koleksi secara dinamis ( dynamic collection ) yang digunakan untuk mempermudah penyisipan data diantara kumpulan data yang telah ada. Meski memiliki konsep yang mirip dengan  Array ,  Linked List  memiliki keuntungan dalam penyisipan dan pembuangan data dibandingkan  Array . Hanya saja, kelemahannya terletak pada cara mengakses data didalamnya. Pada konsep  Linked List , pengaksesan data didalamnya harus secara berurutan dari awal, hal ini dikarenakan linked list tidak mengenal indeks seperti  Array . Jika pada  Array ...