Postingan

05 - Binary Search Tree - 2101664883 - Joseph Lazarus Joshua Refassy

Gambar
Binary Search Tree Binary Search Tree adalah aturan dimana left child dari parent selalu memiliki nilai lebih kecil dari nilai parent dan right child selalu memiliki nilai lebih besar dari parent. Binary Search Tree mempunyai beberapa operator dasar: - find(x) : cari x dalam BST -> sama saja dengan search  <- menggunakan BST, search jadi mudah - insert(x) : memasukkan x dalam BST - remove(x) : menghapus x dalam BST Aturan dalam Delete: - Jika node adalah leaf, maka hapus saja - Jika node yang ingin di delete masih memiliki anak setidaknya satu anak, maka delete saja node yang ingin di delete, lalu gantikan posisi yang di delete tadi dengan anak yang di delete. - Jika node adalah parent yang memiliki dua anak, maka delete node yang ingin di delete, lalu cari pengganti untuk posisi node yang di delete. Cara carinya ialah lihat anak sebelah kiri lalu cari nilai node yang tertinggi dari sana, setelah itu gantikan nilai tertinggi dari node yang ada di left child d...

04 - Tree, Binary Tree, dan Expression Tree - 2101664883 - Joseph Lazarus Joshua Refassy

Gambar
Tree - Tree adalah kumpulan dari satu ataupun lebih node. - Node yang paling atas disebut root. - Garis yang menghubungkan antara parent dan child adalah edge. - Node yang tidak mempunyai child disebut leaf. - Node yang mempunyai parent yang sama disebut sibling. - Degree of node adalah total sub tree dari node. - Height/Depth adalah maksimum degree dari node. - Jika ada garis p ke q, maka p disebut ancestor dari q, dan q adalah descendant dari p. DEGREE of TREE = 3 DEGREE of C = 2 HEIGHT = 3 PARENT of C = A CHILDREN of  A = B, C, D SIBILING of F = G ANCESTOR of F = A, C DESCENDANT of C = F, G Binary Tree - Binary tree adalah rooted tree yang setiap nodenya paling banyak memiliki dua child. - Dua child dari node biasanya dibagi menjadi left child dan right child. - Node yang tidak mempunyai child sama sekali disebut leaf. Gambar di sebelah kiri ini merupakan contoh dari binary tree. Mempunyai 9 node. Rooted (berakar) dari node yang berisi angka 1...

03 - Implementasi Linked List II - 2101664883 - Joseph Lazarus Joshua Refassy

Gambar
STACK - Stack adalah struktur data linier yang dapat diimplementasikan dengan menggunakan array atau linked list. - Prinsip Last In First Out (LIFO) Artinya, data yang terakhir kali dimasukkan akan pertama kali keluar dari tumpukan tersebut. - Dapat dianalogikan sebagai tumpukan piring Saya membuat tumpukan piring. Piring yang pertama saya taruh, lalu saya taruh piring kedua, dan seterusnya hingga piring ke sepuluh. Lalu saya ingin mengurangi tumpukan, tapi tumpukan hanya dapat dikurangi dengan mengambil piring yang paling atas. Setelah saya kurangi tumpukan piringnya, maka piring pada tumpukan sisa sembilan. Inilah yang disebut Prinsip LIFO. Intinya saya hanya dapat menambah atau mengurangi tumpukan hanya melalui satu sisi, yaitu paling atas (top). - Stack dapat diimplementasikan dalam Array dan Linked List ARITHMETIC NOTATION Arithmetic notation ada tiga: - Prefix Notation, juga dikenal sebagai Polish Notation - Infix Notation, ini yang biasanya sering diguna...

02 - Implementasi Linked List I - 2101664883 - Joseph Lazarus Joshua Refassy

Link Listed Linked list adalah kumpulan elemen data, yang dimana elemen data ini disebut node. Linked list adalah struktur data yang pada gilirannya dapat digunakan untuk mengimplementasikan struktur data lainnya. Linked list dapat digambarkan sebagai kereta yang dimana masing-masing gerbong dari satuan kereta berisi satu atau lebih data dan yang menunjuk (pointer) ke gerbong selanjutnya. Beberapa tipe dari linked list: - Singly Linked List - Circular Linked List - Doubly Linked List - Circular Doubly Linked List - Header Linked List Singly Linked List Singly Linked List adalah jenis linked list yang paling sederhana dimana setiap node berisi beberapa data dan sebuah pointer ke node berikutnya dari tipe data yang sama. Circular Linked List Dalam Circular Linked List, node terakhir berisikan pointer ke node pertama dari list. Doubly Linked List Doubly Linked List atau yang dapat disebut juga Two-Way Linked List adalah jenis linked list yang lebih kompleks yang...

01 - Array, Pointer, dan Struktur Data - 2101664883 - Joseph Lazarus Joshua Refassy

ARRAY Array adalah kumpulan data dengan tipe yang sama (homogenous). Array mempunyai yang namanya index, dan index dimulai dari 0, bukan dari 1 . Contohnya: Tahu[5] = {12, 13, 14, 11, 22}; Karena index dihitung dari 0, bukan dari 1, maka index ketiga dari Tahu adalah 11 . Dalam bahasa C, array dapat dideklarasikan sebagai berikut: int Tahu[5]; Cara akses array tersebut dari contoh di atas: Tahu[0] = 12; Tahu[1] = 13; Tahu[2] = 14; Tahu[3] = 11; Tahu[4] = 22; Contoh memasukkan nilai ke dalam array dalam bahasa C: int tempe[10]; for ( int i = 0 ; i < 10 ; i++ ) {          scanf("%d", &tempe[i]); } Dimensi Array Array mempunyai dimensi. Berikut contoh dimensi array. Array Satu Dimensi (One Dimensional Array) Dapat dideklarasikan sebagai berikut: int Arr[5]; Dan dapat diakses seperti berikut: Arr[0] = 7; Arr[1] = 2; Arr[2] = 13; Arr[3] = 13; Arr[4] = 12; ...