Summary
Summary
Struct merupakan tipe data yang didefinisikan oleh user dan
dapat digunkana untuk menyimpan banyak tipe data yang berbeda – beda.
Pointer merupakan variable data yang menampung atau menunjuk
address dari variable lain. (dideklarasikan dengan menggunakan *, dan Address
didapatkan dengan menambah & di depan variable)
Linked List merupakan koleksi data yang linier dan dikenal dengan istilah nodes. Dan setiap node tersebut mempunyai sebuah value dan juga sebuah pointer yang pastinya akan menunjuk pada node selanjutnya.
Array vs Linked List: Array bersifat static sehingga jika size melebihi batas yang ditentukan atau dideklarasikan maka harus dilakukan realokasi memori. Sedangkan Linked List bersifat dynamic sehingga sizenya akan terus dialokasikan di heap memory (digunakan untuk alokasi memori dinamis).
Double Linked List memiliki pointer yang menyimpan alamat sebelumnya, memungkinkan untuk melakukan reverse print, memudahkan dalam memanipulasikan data, dan memakan lebih banyak memory.
Infix merupakan notasi yang paling umum dan banyak dilakukan oleh manusia contohnya seperti bentuk berikut:
(1+5)*(6/2)^3
dapat dilihat operator (+-*/^) terdapat di tengah - tengah operand.
Prefix, setiap operatornya terletak didepan 2 operand (opr opd opd) sehingga bentuk infix yang diatas dapat berubah menjadi berikut:
* + 1 5 ^ / 6 2 3
Postfix, setiap operatornya terletak dibelakang 2 operand (opd opd opr) sehingga bentuk infix yang diatas dapat berubah menjadi berikut:
1 5 + 6 2 / 3 ^ *
Stack merupakan sebuah struktur data yang mengikuti aturan LIFO (Last In First Out) konsep ini dapat digambarkan dengan tumpukkan piring dimana jika ingin diambil maka akan diambiil dari yang paling atas.
Queue merupakan sebuah struktur data yang mengikuti aturan FIFO (First In First Out) konsep ini dapat digambarkan dengan sebuah antrian dimana pertama kali orang mengantri maka orang pertama tersebut lah yang akan keluar pertama kalinya.
Priority Queue masih termasuk Queue dan juga menggunakan aturan FIFO bedanya adalah terdapat sebuah key yang menentukan prioritas urutan Queue. Hal yang paling mudah adalah bedanya pasien biasa dengan pasien UGD sehingga lebih di pentingkan pasien UGD.
Hashing merupakan sebuah teknik untuk menyimpan dan mengambil data didalam kelompok tipe object yang serupa.
Hash Table merupakan sebuah tempat untuk menyimpan 2 pasang data (key / value).
Ada situasi dimana saat ingin menyimpan sebuah data string menggunakan fungsi - fungsi diatas tetapi terdapat hash-key yang sama, hal ini di sebut dengan Collision dan biasanya ada dua cara untuk menangani hal tersebut, dan cara tersebut yaitu:
- Linear Probing (Dengan mencari slot lain yang kosong dan di letakkan disana)
- Chaining (menggunakan linked list pada slot tersebut dan string yang mengalami collision tersebut ditaru dislot selanjutnya (linked list))
Trees merupakan struktur data non-linier menunjukkan relasi dari hirarki object - object data. Trees menggunakan teknik pointer untuk menyambungkan node dengan node di dalam tree.
Binary Tree Mirip dengan konsep atau bentuk Tree pada umumnya, tetapi setiap parent (node) memiliki minimal 2 anak, dan 2 anak tersebut biasanya dianggap menjadi left child dan right child dan sama seperti konsep tree node yang tidak memiliki anak disebut leaf.
Binary Tree memiliki beberapa tipe yang salah satunya yaitu sebagai berikut:
- Perfect Binary Tree ( semua node memiliki kedalaman level yang sama)
- Complete Binary Tree ( semua node selain yang leaf terisi)
- Skewed Binary Tree ( disaat dimana setiap node memiliki minimal satu anak)
- Balanced Binary Tree ( disaat dimana setiap leaf tidak lebih jauh ke root dari pada leaf yang lainnya.
Queue merupakan sebuah struktur data yang mengikuti aturan FIFO (First In First Out) konsep ini dapat digambarkan dengan sebuah antrian dimana pertama kali orang mengantri maka orang pertama tersebut lah yang akan keluar pertama kalinya.
Hashing merupakan sebuah teknik untuk menyimpan dan mengambil data didalam kelompok tipe object yang serupa.
Hash Table merupakan sebuah tempat untuk menyimpan 2 pasang data (key / value).
Ada situasi dimana saat ingin menyimpan sebuah data string menggunakan fungsi - fungsi diatas tetapi terdapat hash-key yang sama, hal ini di sebut dengan Collision dan biasanya ada dua cara untuk menangani hal tersebut, dan cara tersebut yaitu:
- Linear Probing (Dengan mencari slot lain yang kosong dan di letakkan disana)
- Chaining (menggunakan linked list pada slot tersebut dan string yang mengalami collision tersebut ditaru dislot selanjutnya (linked list))
Trees merupakan struktur data non-linier menunjukkan relasi dari hirarki object - object data. Trees menggunakan teknik pointer untuk menyambungkan node dengan node di dalam tree.
Binary Tree Mirip dengan konsep atau bentuk Tree pada umumnya, tetapi setiap parent (node) memiliki minimal 2 anak, dan 2 anak tersebut biasanya dianggap menjadi left child dan right child dan sama seperti konsep tree node yang tidak memiliki anak disebut leaf.
Binary Tree memiliki beberapa tipe yang salah satunya yaitu sebagai berikut:
- Perfect Binary Tree ( semua node memiliki kedalaman level yang sama)
- Complete Binary Tree ( semua node selain yang leaf terisi)
- Skewed Binary Tree ( disaat dimana setiap node memiliki minimal satu anak)
- Balanced Binary Tree ( disaat dimana setiap leaf tidak lebih jauh ke root dari pada leaf yang lainnya.

Comments
Post a Comment