Posts

Showing posts from March, 2020

Linked List

Hash Table & Binary Tree Hash Table       Hash table adalah suatu algoritma yang di gunakan untuk memproses data dengan menggenerate key untuk dijadikan sebagai index yang nanti data tersebut dimasukan kedalam array. Akan tetapi ada case dimana index tersebut sama sehingga data yang sebelumnya tertumpuk dan hilang. Case seperti ini dapat diatasi menggukaan Linear Probing dan Chaining.      Linear Probing sendiri adalah algoritma untuk mengatasi case tersebut dengan cara mencari array yang kosong setelahnya menggunakan looping, jika tidak kosong akan mencari lagi sampai kosong pada array tersebut.      Chaining adalah algoritma untuk mengatasi case ini juga dengan menggukanan dynamic array, jika data pertama akan menjadi head data selanjutnya next dan sampai tak terhingga. Binary Tree       Binary tree adalah tipe struktur data yang berbentuk pohon bercabang-cabang. Binary tree sendiri berbeda de...

Double Linked List

     Double linked list hampir sama dengan single linked list akan tetapi pada double linked list ini terdapat dua pointer next dan prev sehingga dapat mengakses 2 arah tidak seperti single linked list. Keuntungan dari double linked list adalah dapat memudahkan untuk memasukan data dan lebih tertata.  [_]  <- - -> [_]  <- - -> [_]  <- - -> [_] Keterangan : <- - ->  artinya 2 pointer sehinga dapat menunjuk ke arah depan dan mundur. [_]  nodenya. Double Linked List in c : #include <stdio.h>  #include <stdlib.h>     // A linked list node  struct Node {      int data;      struct Node* next;      struct Node* prev;  };     /* Given a reference (pointer to pointer) to the head of a list     and an int, inserts a new node on the front of the list. */ void push(...

Tugas GLSC DATA STRUCTURE 1

LINKED LIST      Linked list adalah sebuah penyimpanan yang linear. Linked list memiliki banyak tipe, single linked list, double linked list, multiple linked list, dll. Sesuai dengan namanya penyimpanannya linked list, seperti kotak yang saling dihubungkan sehingga dapat menyimpan tanpa limit. Single linked list memiliki perbedaan yaitu hanya memiliki 1 pointer yang menunjuk data lainnya sehingga datanya  saling terhubung, sedangkan double linked list memiliki 2 pointer untuk menunjuk 2 data sehingga datanya terhubung dengan data sebelumnya dan setelahnya.  @ --> @ --> @  --> @   (single linked list) @ <--> @ <--> @  <--> @   (single linked list) @ = Node --> / <--> = pointer single linked list in c++:  #include <bits/stdc++.h>  using namespace std;     // A linked list node   class Node   {       public:...