Programming/Python
[프로그래밍 기초][파이썬]15. 스택과 큐에 대해 알아보자.
Hi Create
2019. 3. 23. 23:50
반응형
안녕하세요 HiCreate입니다!!!
이번 포스팅에서는 스택과 큐에 대해 알아볼거에요.
먼저 스택(Stack)이란 무엇일까요?
'제한적으로 접근가능한 배열'입니다.
'제한적'은요,
한 곳에서만 배열에 접근하여 어떤 행동을 취할 수 있다는 거죠.
위의 그림을 보면 윗부분에만 구멍이 뚫려있죠?
이 부분은 값을 넣거나 뺄 수 있는 구멍입니다.
각 부분에는 한 가지의 값만 들어있다고 하면
이렇게 될겁니다.
1번은 당연히 맨 처음 넣은 데이터겠죠?
먼저 push(값을 넣음)를 하고, pop(값을 빼냄)을 실행한다면,
7번 값을 넣고 다시 7번을 바로 빼내어 버린다는 거죠.
이게 스택입니다.
LIFO(Last In First Out)이라는 방식이죠.
1 2 3 4 5 6 7 | s = [1,2,3,4,5,6,7] s.append(8) //마지막 자리에 값 추가 print(s.pop()) //마지막 자리의 값을 출력하고 삭제(8출력) print(s) // 남은 값은 [1,2,3,4,5,6,7] | cs |
이런 식으로 파이썬에서 쓸 수 있습니다.
(push가 append입니다.)
이제 큐입니다.
큐(Queue)는 먼저 넣은 걸 먼저 빼내는 FIFO(First In First Out)형식입니다.
주로 은행같은 곳에서 번호표를 먼저 뽑은 사람이 먼저 일을 보는 것 같은거죠.
C에서는 스택이든 큐든 구현하기가 까다로울 수 있지만,
파이썬에서는 굉장히 간단합니다.
pop(0) 를 사용하면 되죠.
1 2 3 4 5 6 7 8 | s = [1,2,3,4,5,6,7] s.append(8) //마지막 자리에 값 추가 print(s.pop()) //마지막 자리의 값을 출력하고 삭제(8출력) print(s) // 남은 값은 [1,2,3,4,5,6,7] print(s.pop(0)) //출력 값은 1 | cs |
위의 사진은 참고 자료입니다.
뭐 이런 식으로 스택과 큐, 사용하시면 될 것 같네요.
그럼 여기까지 하도록 하겠습니다.
다음 포스팅에서 뵙겠습니다!!!
반응형