스택,큐
1.스택
스택은 위 그림처럼 한 곳만 뚫려있는 상자를 생각하면 이해하기 쉽다. 스택상자에 물체들을 넣으면 넣을수록 처음에 넣은 물체는 깊숙히 보관되어 꺼내기 위해서는 나중에 넣은 모든 물체들을 빼야 뺄 수 있게 된다. 이때 스택상자에서 물체들을 빼내는 순서는 가장 나중에 넣은 물체부터 시작해서 빼게 된다.
1.1 기본적인 스택 명령어
기준은 파이썬 pythonds.basic.stack 모듈의 Stack 기준
- push : 스택에 데이터 넣기
- peek : 가장 마지막(마지막으로 넣어진) 데이터 확인
- pop : 스택에 데이터 빼내기
1.2 스택활용 예시
- 웹브라우저의 이전,다음페이지 기능
- 깊이우선탐색(DFS)
2.큐
큐는 위 그림처럼 두 곳이 뚫려있는 상자를 생각하면 이해하기 쉽다. 큐상자는 스택상자와 달리 출입구가 반대방향에 위치해 있어 물체들을 연속해서 넣어도 물체를 빼내는 출구는 반대방향에 있어 가장 먼저 넣은 물체부터 빼낼 수 있다.( 출입구의 역할은 확실하게 지켜야 됨. 예를 들어 출구에서 물체 빼내는 행위 안됨! )
2.1 기본적인 큐 명령어
기준은 파이썬 Collections 모듈 Queue 기준
- put : 큐에 데이터 넣기
- peek : 가장 먼저(정확하게 말하자면 출구에 가장 가까이 있는) 데이터 확인
- get : 큐에 데이터 빼내기
2.2 큐활용 예시
- 프린트 인쇄 대기열
- 너비우선탐색(BFS)