Pointer
Pointer adalah suatu variabel yang berisi alamat memori dari suatu variabel lain(*).
Double Pointer adalah Pointer yang berisi alamat pointer lain(**).
Array
Array adalah sekumpulan variabel yang mempunyai tipe data yang sama dan dinyatakan dengan nama yang sama.
Array memiliki indeks dan selalu mulai dari indeks[0].
Operasi yang dapat dilakukan dalam array :
- Traversal
- Insertion
- Searching
- Deletion
- Merging
- Sorting
Struktur Data
Struktur Data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.
Contoh Struktur Data :
- Array
- Linked List
- Stack
- Queue
- Binary Trees
- Hash Table
Linked List
Linked list (one way list) adalah suatu kumpulan elemen data (yang disebut sebagai node) dimana urutannya ditentukan oleh suatu pointer. Setiap Linked List memiliki Head dan Tail dan node-node lainnya.
Perbedaan Array dengan Linked List
Array
- Ukurannya selalu tetap
- Alokasi memori dilakukan pada saat array didefinisikan
- Pembebasan memori dilakukan pada saat program berhenti
Linked List
- Ukurannya berubah-ubah disesuaikan dengan kebutuhan
- Alokasi memori ditentukan pada saat data dibuat
- Pembebasan memori dilakukan setiap ada penghapusan data
Queue
Queue menggunakan prinsip First In First Out (FIFO), elemen ditambah terakhir dan elemen yang diambil/dihapus di awal.
Circular Queue : Siklus Queue dimana posisi rear menjadi posisi front dan urutan kembali ke awal.
Priority Queue : Queue dimana masing-masing elemen diurutkan berdasarkan value tertentu.
Stacks
Stacks menggunakan prinsip Last In First Out(LIFO), elemen yang terakhir kali dimasukkan akan pertama kali dikeluarkan.
Binary Trees
Binary Trees adalah pohon dengan syarat bahwa tiap node hanya memiliki boleh maksimal dua subtree dan kedua subtree tersebut harus terpisah.