Tumpukan (struktur data): Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k Daud I.F. Argana memindahkan halaman Stack (struktur data) ke Tumpukan (struktur data)
Tidak ada ringkasan suntingan
Baris 1:
Dalam [[ilmu komputer]], '''stacktumpukan''' atau({{asal '''tumpukan'''kata|Inggris|stack}}) merupakan sebuah koleksi objek yang menggunakan prinsip '''''LIFO''''' ('''''Last In First Out'''''), yaitu data yang terakhir kali dimasukkan akan pertama kali keluar dari tumpukan tersebut. Operasi untuk memasukkan data biasa disebut ''push'' dan operasi untuk mengeluarkan biasanya disebut ''pop''. Tumpukan dapat diimplementasikan sebagai [[senarai berantai]] atau [[larik]].
StackTumpukan tergolong [[struktur data linear]] dan operasi ''push'' dan ''pop'' hanya bisa dilakukan di satu ujung struktur yang biasa disebut ''top'' dari stacktumpukan. Untuk melihat data yang ada di top tanpa mengeluarkannya, biasanya dilakukan menggunakan operasi ''peek''.
 
== Pemanfaatan stack ==
=== Perhitungan ekspresi aritmetika dan penguraian sintaks ===
Di kalkulator yang menggunakan [[notasi Polandia terbalik]] (letak operator bersifat posfiks) menggunakan stacktumpukan untuk menyimpan nilai. Selain itu, kebanyakan [[kompilator]] menggunakan stacktumpukan untuk menguraikan sintaks ekspresi dan blok program sebelum diterjemahkan ke bahasa level rendah.
 
=== ''Backtracking'' ===
StackTumpukan bisa dimanfaatkan untuk algoritma ''[[backtracking]]''. Misalkan ada sebuah maze. Kita bisa menyimpan daftar lokasi yang kita kunjungi menggunakan stackTumpukan. Jadi, apabila kita mencapai jalan buntu, kita tinggal melakukan ''pop'' pada stacktumpukan daftar lokasi lalu mencoba jalan lain. Contoh algoritma ''backtracking'' yang sering digunakan adalah pencarian ''[[depth-first search]]'' pada struktur data [[pohon (stuktur data)|pohon]].
 
{{komputer-stub}}