Pada pertemuan hari ini kami mereview dan mempelajari beberapa hal baru mengenai Data Structures
Data Structures adalah kumpulan data yang bisa berbentuk array, struct, linked list, queque, stacks, binary trees dan disimpan dalam memori komputer, bersifat dynamic storing..
1.
Array: sebuah kumpulan dari elemen data yang bertipe sama (homogen), masing- masing elemen disimpan dalam indeks, dan index nya bermula dari 0
berikut gambar contoh mengenai array yang saya buat sendiri
array bisa berbentuk one dimensional array, two dimensional array, dan multi dimensional array..
contoh two dimensional array:
int nomorkursi[100][20]
(angka 100 menunjukan sumbu y, angka 20 sebagai sumbu x)
2.
Pointer: variabel yang menyimpan
alamat dari sebuah nilai.
saat kita mendeclare suatu nilai misal int x=0, maka 0 akan menempati suatu alamat pada sel memori,
nah jika kita ingin menggunakan nilai 0 ini kembali, maka kita dapat memanggil alamatnya dengan cara &x, simbol "&" disini yaitu suatu penulisan dalam pointer yang berarti perintah "woy visual express, ambilin nilai pada alamat x dong!" sehingga akan lebih efisien dalam penggunaan memori.
namun perlu diingat declare nilainya harus ada format khususnya, berikut:
int a
int *x=0
(menggunakan bintang)
a=&x
3. Queque (antrian): suatu kumpulan data dimana penambahan elemen hanya bisa dilakukan pada satu ujung (tail) dan pengambilan/penghapusan elemen dimulai dari ujung satunya (head). menggunakan prinsip FIFO (first in, first out) seperti pada
shuttlecock badminton.
berikut ilustrasi yang saya buat sendiri..
4. Stacks (tumpukan):Pertama masuk, terakhir keluar. masuk terakhir, keluar pertama. stacks ini mirip dengan queque namun kebalikannya, menggunakan prinsip tumpukan seperti tumpukan karung beras, tentu yang diambil yang paling atas (yang terakhir ditaruh).
5. Binary Tree
struktur data dimana setidaknya tiap node memiliki 2 anak data.
PERTANYAAN TAMBAHAN (update 20 Februari 2018, 22.41)
1. Berapa banyak jumlah maksimal dimensi dari sebuah array?
Secara teori tidak ada batas, namun secara praktek, batasannya adalah ukuran memori komputer itu sendiri dan compiler yang digunakan
(sumber: http://www.examveda.com/what-is-the-maximum-number-of-dimensions-an-array-in-c-may-have-c-programming-arrays-and-strings-6/)
Pada Java VM dibatasi pada 255,
(sumber: https://www.quora.com/How-many-maximum-dimensions-can-an-array-have-in-C-C++-or-Java)
atau ada juga yang menyebutkan batasannya adalah 12, berdasar
http://c0x.coding-guidelines.com/5.2.4.1.html
2. Apa beda dari single dan double pointer? apakah ada batasannya?
Single pointer untuk pass value,
sedangkan double pointer untuk passing alamat dari pointer yang menyimpan alamat suatu value
(sumber: https://stackoverflow.com/questions/25107039/confused-by-single-pointer-and-double-pointer-arguments-in-function-calls)
batasannya adalah 12 (sumber:http://c0x.coding-guidelines.com/5.2.4.1.html)
artikel ini telah selesai dibuat sejak 20 Februari 2018, 22.45..
namun saya masih mencari update jawaban dari pertanyaan tambahan