2011-08-15 3 views
-3

추상 스택을 사용하여 추상 큐를 거꾸로 뒤집기 위해 4n 호출을하는 이유는 무엇입니까? 이 질문에 나를 도와 주실 분이세요?추상 큐를 거꾸로 뒤집어 스택으로 바꾸기

+0

이 숙제가 있습니까? –

+0

아니, 그 대답은 이해가 안되는 그 책에서 질문, 나는 지금까지 내 추론을 말할 수 있습니다 : 추상 스택 함수는 제거하거나 벡터에서 가기 요소를 밀어 또는 팝업을 사용하여 추가, 반면 추상 큐는 "first in first out"을 사용하므로, n 엘리먼트를 가진 큐를 뒤집으려면 abcd가 dcba가되도록 n 개의 호출이 필요합니다. 이것은 잘못된 것입니까? – user718531

+0

나는 downvote하지 않았고, 왜 당신이 너무 많이 downvoted 받았는지 잘 모르겠다 (나는 그것을별로 좋아하지 않는다). 그러나, 미래의 게시물에 대한 팁 : 만약 당신이 원래 게시물에 코멘트에서 추론을 포함했다면 아마 downvotes을 얻지 못했을 것입니다. –

답변

1

노드를 원래 큐에 넣으 려한다고 가정합니다. 이 경우 한 번에 하나씩 큐에서 모든 노드를 제거해야합니다. 각 노드를 스택으로 밀어 넣어야합니다. 지금까지는 큐에서 하나의 읽기가되고 스택에 푸시가 있습니다. 그런 다음 스택에서 노드를 팝하여 다시 대기열에 배치해야합니다. 노드 당 4 개의 작업입니다.

+0

시간 내 주셔서 대단히 감사합니다. 이제 이해가됩니다! – user718531

관련 문제