Mengapa meletakkan sesuatu di tumpukan yang disebut "push"?

22

Menurut http://dictionary.reference.com

Dorong

kata kerja (digunakan dengan objek)

  1. untuk menekan atau menentang (sesuatu) dengan kekuatan untuk memindahkannya.

  2. untuk memindahkan (sesuatu) dengan cara tertentu dengan menggunakan kekuatan; mendorong; drive: untuk mendorong sesuatu ke samping; untuk mendorong pintu terbuka .

  3. untuk menghasilkan atau menyelesaikan dengan menyingkirkan hambatan: untuk mendorong seseorang melewati kerumunan.

  4. menyebabkan perluasan atau proyek; dorongan.

  5. untuk menekan atau mendesak suatu tindakan atau tindakan: Ibunya mendorongnya untuk mendapatkan pekerjaan.

IMO ini cocok untuk antrian FIFO . Apakah ada penjelasan untuk ini?

dokter
sumber
2
Yah .. di Israel analoginya adalah untuk majalah pistol seperti yang Anda butuhkan untuk PUSH peluru masuk .. tapi saya pikir saya suka pez dispencer lebih baik.
GY
@ GY - LOL - Saya datang ke sini untuk mengatakan hal itu (masalah Pez). BASTARD! Budaya yang menarik di Israel ...
Edward Strange
Saya kira jika hanya untuk hari ini saya FGITW!
Scott C Wilson
1
Pertanyaan ini ditanyakan dan dijawab di stackoverflow - stackoverflow.com/questions/420315/stacks-why-push-and-pop . Push dan pop keduanya dibahas.
Awal
Membutuhkan tag "history".
Awal

Jawaban:

47

Menurut legenda, tumpukan asli menerima namanya secara analogi dengan tumpukan hidangan di kafetaria universitas: Anda menaruh satu di atas, dan tumpukan hidangan (yang diisi dengan musim semi) turun sedikit, Anda mengambil satu dan mengeluarkannya sedikit. Karenanya, 'mendorong' menerima konotasi untuk beroperasi ke bawah, meskipun Anda tidak benar-benar menekan pelat - Anda cukup meletakkannya dan gravitasi bekerja. "Tumpukan pushdown" masih merupakan frase umum, dan tumpukan cenderung tumbuh ke bawah dalam memori (yaitu dengan menurunnya alamat memori), meskipun diragukan apakah itu ada hubungannya dengan tumpukan piring atau tidak.

Kilian Foth
sumber
1
Pushdown mungkin berasal dari Pushdown Automata.
Oded
11
@Daftar Saya cukup yakin itu sebaliknya. Automat pushdown adalah otomat terbatas yang ditambah oleh tumpukan pushdown.
Konrad Rudolph
Dan Anda tahu beberapa orang bodoh di luar sana mengetahui bahwa, karena PC menghitung "ke atas", alamat memori yang lebih rendah ada di bagian bawah.
Philip
Saya mendapat kesan bahwa asal mula ada hubungannya dengan paku dokumen itu. Anda tahu, paku dipegang secara vertikal di mana Anda mendorong bit kertas
Ian
44

Pikirkan tentang dispenser Pez . Itu adalah model mental Anda untuk tumpukan - masuk terakhir, keluar pertama. Jadi menambahkan item ke tumpukan mengharuskan Anda menekan item yang ada untuk memberi ruang.

http://i.stack.imgur.com/VJkYi.jpg

Scott C Wilson
sumber
2
mmmmmm ... Pez !!!
Steven A. Lowe
1
Saya akan menyarankan model majalah amunisi, tetapi dispenser Pez adalah gambaran mental yang jauh lebih ramah keluarga. +1 dan saya berharap bisa lebih banyak mengunggah.
KeithS
Saya tergoda untuk -1 untuk hello kitty, tetapi tidak akan melakukan jawaban dan keadilan analogi. Jadi +1 dari saya.
0xC0000022L
dan ini adalah bagaimana Anda menjelaskan "Stack" kepada seorang anak :)
Chani
StackOverflow akan terjadi ketika Anda mencoba mengisinya dengan satu paket penuh Pez, dan semuanya tersentak dari jari-jari Anda sebelum dimasukkan ke dalam sehingga menyebar ke semua tempat.
awe
3

FIFO adalah Antrian - yang pertama ditambahkan ke grup adalah yang pertama dilayani.

LIFO adalah tumpukan - seperti sekelompok nampan. Anda selalu mengambil yang dari atas tumpukan.

Istilah push digunakan ketika menambahkan item ke LIFO / Stack, karena di beberapa kafetaria tumpukan baki berada di permukaan pegas. Karena lebih banyak item didorong pada tumpukan, seluruh tumpukan akan lebih rendah.

Ketika item teratas / terbaru dihapus dari tumpukan, yang teratas "muncul" dari atas tumpukan.

mhoran_psprep
sumber
Tumpukan piring di kafetaria sering digunakan untuk menggambarkan bagaimana struktur data tumpukan bekerja, tetapi apakah Anda memiliki bukti bahwa dari situlah asal terminologi tersebut?
Caleb
@ Caleb, TAOCP Volume 1 (hlm. 237 dalam edisi kedua) menyiratkan bahwa itu benar, tetapi tidak memberikan kutipan. Halaman sebelumnya berbicara tentang bagaimana istilah "tumpukan" dan "antrian" adalah "secara bertahap menjadi terminologi standar", jadi ini mungkin referensi potensial paling awal.
mpdonadio
3

Ilustrasi menggunakan piring atau baki kafetaria, dispenser pez, dan tumpukan buku semua datang kemudian. Dari Wikipedia: (dengan referensi)

"Tumpukan ini pertama kali diusulkan pada tahun 1946, dalam desain komputer Alan M. Turing (yang menggunakan istilah" bury "dan" unbury ") sebagai sarana menelepon dan kembali dari subrutin." Pekerjaan tambahan dan paten oleh orang lain diikuti pada tahun 1957. Ilustrasi tumpukan yang kita gunakan saat ini mungkin telah menyebabkan istilah asli Turing tentang penguburan dan unbury berevolusi menjadi push dan pop. Mungkin istilah ini terdengar lebih baik.

Menemukan persis di mana atau kapan ini terjadi adalah jawaban untuk pertanyaan OP. Mungkin jawabannya terkubur di salah satu rujukan Wikipedia seperti " Verfahren zur automatischen Verarbeitung von kodierten Daten und Rechenmaschine zur Ausübung des Verfahrens ."

Awal
sumber