Posts

binary tree

Tree adalah salah satu bentuk struktur data tidak linear yang menggambarkan hubungan dan bersifat hirearki. Binary Tree adalah tree yang mempunyai syarat bahwa tiap node maksimal memiliki dua subtree dan kedua subtree itu haruslah terpisah. Binary Search Tree adalah sebuah konsep penyimpanan data, dimana data disimpan dalam bentuk tree yang setiap node dapat memiliki anak maksimal 2 node. Aturannya yaitu anak bagian kiri dari sebuah parent yang sama harus memiliki nilai lebih kecil daripada anak bagaian kanan. jenis-jenis binary tree : a)Perfect Binary Tree Binary Tree yang tiap nodenya (kecuali leaf) memiliki dua child dan tiap subtree harus mempunyai panjang path yang sama. b)Complete Binary Tree Mirip dengan Full Binary Tree, namun tiap subtree boleh memiliki panjang path yang berbeda. Node kecuali leaf memiliki 0 atau 2 child c)Skewed Binary Tree yakni Binary Tree yang semua nodenya (kecuali leaf) hanya memiliki satu child. Binary tree search ( BST ) Struktur data yang mengadop...

Tree

TREE Tree adalah kumpulan dari satu node atau lebih. Beberapa istilah atau konsep dalam tree: Root : Node yang berada di paling atas Parent : Induk dari sebuah node Child / children : Turunan dari sebuah node Edge : Garis yang menghubungkan parent dengan child Leaf : Node yang tidak memiliki children Sibling : Node yang memiliki parent yang sama Degree : Jumlah sub-tree dari sebuah node Height / depth : Degree maksimum dalam sebuah tree Ancestor : Terdiri dari parent node itu sendiri beserta parent dari parent suatu node Descendant : Terdiri dari parent node itu sendiri beserta parent dari parent suatu node _______________________________________________________________________ Pengertian Binaary Tree dalam Struktur Data Pohon biner adalah pohon dengan syarat bahwa tiap node hanya memiliki boleh maksimal dua subtree dan kedua subtree tersebut harus terpisah. Sesuai dengan definisi tersebut, maka tiap node dalam binary tree hanya boleh memiliki paling banyak dua anak/...

Stack

Stack: 1.      Stack Concept 2.      Stack using Array and Linked List 3.      Infix, Postfix and Prefix Notation 4.      Evaluation 5.      Conversion 6.      Depth First Search 7.      Queue Concept 8.      Queue using Array and Linked List 9.      Priority Queues 10.  Breadth First Search Stack adalah struktur data penting yang menyimpan unsur-unsurnya secara teratur Analogi: Anda pasti pernah melihat setumpuk piring tempat piring diletakkan di atas yang lain. Bila Anda ingin melepaskan piring, Anda melepaskan piring paling atas terlebih dahulu. Oleh karena itu, Anda dapat menambahkan dan menghapus elemen (yaitu pelat) hanya di / dari satu posisi yang merupakan posisi paling atas. Konsep Stack: Stack adalah struktur data linier yang dapat diimplementasikan dengan menggunakan array atau linked list. Elemen dalam tumpukan ditambahk...

linked list

Linked List Linked List terdiri dari : 1. Single Linked List Single linked list merupakan linked list yang hanya mempunyai satu pointer. Pointer tersebut menunjuk ke node selanjutnya. Field pada tail menunjuk ke NULL. Example: struct tnode {  int value;  struct tnode *next; }; struct tnode *head = 0; Note:Head adalah pointer untuk elemen pertama di linked list kita Insert di linked list Untuk menyisipkan nilai baru, pertama kita harus mengalokasikan node baru secara dinamis dan memberikan nilai padanya dan kemudian menghubungkannya dengan linked list yang ada. Seharusnya kita ingin menambahkan node baru di depan head Contoh: struct tnode *node =  (struct tnode*) malloc(sizeof(struct tnode)); node->value = x; node->next  = head; head = node; Note:Operator( ->)Punya arti yang sama dengan: (*node).value = x; (*node).next  = head; Delete di linked list Untuk menghapus sebuah nilai, pertama kita harus mencari lokasi node yang me...

data struct

1. Array Array adalah sekumpulan beberapa data dengan tipe data yang sama, yang disimpan dalam bentuk indeks yang dimulai dari 0, dan indeks terakhir adalah null. contoh: int data[5]; data[0]=1; data[1]=3; data[2]=5; 2. Dimensi Array Array dimensi dua menggunakan dua array, biasanya digunakan untuk array of char yang menyimpan kalimat atau nama lebih dari satu. contoh: char data[10][10]; strcpy(data[0],"sesuatu"); strcpy(data[1],"yang"); strcpy(data[2],"misterius"); Contoh lainnya adalah matriks; int matriks[5][5] = {5, 9, 8, 7, 6}, {1, 0, 4, 6, 7}, {8, 3, 2, 4, 3}, {8, 7, 9, 7, 6}, {3, 7, 5, 4, 6}; 3. Sistem Operasi di dalam Array Ada beberapa sistem pengoperasian yang bisa dilakukan di dalam array, yaitu: * Traversal, yaitu mencetak semua element satu persatu * Insertion, yaitu menambahkan data * Searching, yaitu mencari data dari daftar array * Deletion, yaitu menghapus data dari daftar array * Merging, yaitu meng...