STACK
Ada 2 operasi dasar yang bisa dilakukan pada stack yaitu :
Push (menambah/menyisipkan data) Pop
(menghapus/mengurangi data)
Ungkapan Aritmatika
Infix➔ Operan Operator Operan A +B
Prefix➔ Operator Operan Operan + AB Contoh konversi:
Postfix ➔ Operan Operan Operator A B+
Contoh:
INFIX : A + B * (C – D) / E
QUEUE
Queue atau antrian: Sekumpulan koleksi data yang terurut yang datanya dapat ditambahkan di satu sisi (rear)dan dihapuskan di sisi lainnya
(front).
Enqueue: Tambah data di akhir
Dequeue: Hapus data dari depan
Linear Queue adalah struktur data antrian di mana elemen masuk dari belakang (rear) dan keluar dari depan (front). Alur antrian bersifat
searah, seperti barisan pada loket.
[ - ][ - ][ - ][ - ][ - ] enqueue [10][20][30][ - ][ - ] dequeue [- ][20][30][ - ][ - ]
↑ ↑ ↑ ↑ ↑
Front & Rear Front Rear Front Rear
Note: jika antrian full dan masih ada data yg ingin masuk, maka dia masuk ke waiting list, harus direset terlebih dahulu baru bisa masuk
Circular Queue adalah pengembangan dari linear queue yang membuat antrian membentuk lingkaran, sehingga ruang kosong di depan
bisa digunakan kembali. Enqueue dan Dequeue tetap sama, tapi rear/front dapat kembali ke indeks 0 jika mencapai akhir array.
enqueue [10][20][30][40][50] dequeue [-][-][30][40][50] enqueue [60][-][30][40][50]
↑ ↑ ↑ ↑ ↑ ↑
Front Rear Front Rear Rear Front
TREE
Simpul adalah elemen tree yang berisi informasi / data dan penunjuk pencabangan.
Tingkat/level suatu simpul ditentukan dari akar (root), sebagai level 1. Apabila simpul
dinyatakan sebagai tingkat N, maka simpul-simpul yang merupakan anaknya berada
pada tingkat N+1.
Derajat/degree menyatakan banyaknya anak/turunan di simpul tersebut. Contoh :
Simpul A memiliki derajat 2 (B dan C), simpul yang memiliki derajat 0 (nol) disebut leaf (daun)
seperti : I, J, K, L, N, dan O.
Tinggi (height) atau kedalaman (depth) suatu tree adalah tingkat maksimum dari tingkat dalam
tree tersebut dikurangi 1. Contoh dalam tree di atas, mempunyai depth 4.
Ancestor suatu simpul adalah semua simpul yang terletak dalam satu jalur dengan simpul
tersebut, dari akar sampai simul yang ditinjaunya. Contoh Ancestor L adalah A,C dan G.
Predecessor adalah simpul yang berada di atas simpul yang ditinjau. Contoh : Predecessor D adalah B.
Successor adalah simpul yang berada di bawah simpul yang ditinjau. Contoh : Successor D adalah I.
Descendant adalah seluruh simpul yang terletak sesudah simpul tertentu dan terletak pada jalur yang sama. Contoh :
Descendant E adalah J dan K.
Sibling adalah simpul-simpul yang memiliki parent yang sama dengan simpul yang ditinjau. Contoh : Sibling J adalah K
Parent adalah simpul yang berada satu level di atas simpul yang ditinjau. Contoh : Parent J adalah E
Pembuatan Binary Tree
Lebih kecil di kiri, besar di kanan | huruf/angka pertama jadi root
Penelusuran Binary Tree
Preorder (Root – Left – Right)
Inorder (Left – Root – Right)
Postorder (Left – Right – Root)
Pembentukan Binary Tree berdasarkan Preorder, Inorder atau Postorder
Inorder : posisi
Preorder(depan) / Postorder (belakang) : urutan