왜 "푸시"라는 스택에 무언가를 넣는가?


22

http://dictionary.reference.com 에 따르면

푸시

동사 (객체와 함께 사용)

  1. 멀리 이동시키기 위해 힘을 가해 누르거나 누르는 것.

  2. 힘을 가하여 특정 방식으로 (무언가) 움직이고; 밀어 만들다; 드라이브 : 무언가를 옆으로 밀어; 문을 밀어 넣으십시오 .

  3. 장애물을 제쳐두고 영향을 미치거나 달성 하기 위해 : 군중을 통해 자신의 길을 밀어.

  4. 확장 또는 투사를 야기하는 것; 추력.

  5. 어떤 행동이나 행로를 누르거나 촉구하기 위해 : 그의 어머니는 그를 일자리를 갖도록 강요했다.

이 IMO는 FIFO 대기열에 적합합니다 . 이에 대한 설명이 있습니까?


2
글쎄 .. 이스라엘에서는 총알을 겨냥한 총잡이에 대한 비유가 있었다. 그러나 나는 내가 pez dispencer를 더 좋아한다고 생각한다.
GY

@GY-LOL-나는 정확히 그 말을하기 위해 여기에 왔습니다 (Pez 것). 잡종! 이스라엘의 흥미로운 문화 ...
Edward Strange

오늘만 나는 FGITW 인 것 같아요!
Scott C Wilson

1
이 질문은 질문과 유래에 대답했다 - stackoverflow.com/questions/420315/stacks-why-push-and-pop . 푸시와 팝 모두에 대해 설명합니다.
Bratch

"기록"태그가 필요합니다.
Bratch

답변:


47

전설에 따르면, 원래의 스택은 대학 식당의 요리 스택과 유사하게 이름이 붙여졌습니다. 조금 위로. 따라서 '푸시'는 실제로 접시를 아래로 누르지 않더라도 아래로 내린다는 의미를 받았습니다. 그냥 내려 놓으면 중력이 작동합니다. "푸시 다운 스택 (Pushdown stack)"은 여전히 ​​일반적인 문구이며, 스택은 메모리에서 아래쪽으로 증가하는 경향이 있지만 (즉, 메모리 주소가 감소함에 따라) 접시 스택과 관련이 있는지 없는지 의심됩니다.


1
푸시 다운은 푸시 다운 오토마타에서 시작될 수 있습니다.
Oded

11
@Oded 나는 다른 방법으로 확신합니다. 푸시 다운 오토 마톤은 푸시 다운 스택으로 보강 된 유한 오토 마톤입니다.
Konrad Rudolph

PC가 "최대"로 계산되기 때문에 메모리 주소가 낮을수록 가장 낮은 수준이라는 사실을 알고있는 사람도 있습니다.
Philip

나는 그 출처가 그 문서 급상승과 관련이 있다는 인상을 받았다. 아시다시피, 세로로 붙인 못은 약간의 종이
Ian

44

Pez 디스펜서 에 대해 생각해보십시오 . 이것이 스택에 대한 당신의 정신 모델입니다. 따라서 스택에 항목을 추가하려면 기존 항목을 아래로 밀어 공간을 확보해야합니다.

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


2
음 ... 페즈 !!!
Steven A. Lowe

1
나는 탄약 잡지의 모델을 제안하려고했지만 Pez 디스펜서는 훨씬 더 가족 친화적 인 정신 사진입니다. +1하고 더 많이 투표 할 수 있기를 바랍니다.
KeithS

헬로 키티의 경우 -1로 유혹하고 있지만 대답과 비유의 정의는하지 않습니다. 나에게서 +1.
0xC0000022L

그리고 이것은 당신이 아이에게 "Stack"을 설명하는 방법입니다 :)
Chani

StackOverflow는 전체 Pez 팩으로 채우려 고 할 때, 손가락을 넣기 전에 손가락에서 튀어 나와 전체에 퍼집니다.
awe

3

FIFO 는 대기열입니다. 그룹에 추가 된 첫 번째 대기열이 첫 번째 대기열입니다.

LIFO 는 스택과 같은 스택입니다. 항상 스택 맨 위에서 하나를 가져옵니다.

일부 식당에서는 트레이 스택이 스프링 장착 표면에 있기 때문에 LIFO / 스택에 품목을 추가 할 때 푸시 라는 용어 가 사용됩니다. 더 많은 항목이 스택에 밀릴수록 전체 스택이 더 낮아집니다.

맨 위 / 최신 항목이 스택에서 제거되면 맨 위 항목이 스택 맨 위에서 "팝핑"됩니다.


카페테리아의 플레이트 스택은 종종 스택 데이터 구조의 작동 방식을 설명하는 데 사용되지만 그 용어가 어디에서 유래했는지에 대한 증거가 있습니까?
Caleb

@Caleb, TAOCP 1 권 (제 2 판 237 페이지)은 인용하지만 인용하지는 않습니다. 이전 페이지에서는 "스택"및 "대기열"이라는 용어가 "점진적으로 표준 용어"가되는 방법에 대해 설명하므로 가장 빠른 잠재적 참조가 될 수 있습니다.
mpdonadio

3

구내 식당 접시 또는 쟁반, 페즈 디스펜서 및 책 더미를 사용한 그림은 모두 나중에 나왔습니다. 에서 위키 백과 : (참고 문헌 포함)

"이 스택은 1946 년에 서브 루틴을 호출하고 리턴하는 수단으로 Alan M. Turing ("버리 "및"언 버리 "라는 용어를 사용한 컴퓨터 설계)에서 처음 제안되었습니다." 오늘날 우리가 사용하는 스택의 일러스트레이션은 Turing의 원래 매장 및 언 버리 용어가 푸시 앤 팝으로 진화하게 만들 수 있습니다. 어쩌면이 용어들은 더 잘 들릴 것입니다.

이것이 언제 어디서 언제 발생했는지 정확히 파악하는 것이 OP의 질문에 대한 답변입니다. 어쩌면 그 대답은 Wikipedia 참고 문헌 중 하나 인 " Verfahren zur automatischen Verarbeitung von kodierten Daten und Rechenmaschine zur Ausübung des Verfahrens "와 같은 참고 문헌에 포함되어있을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.