전공/Algorithm
[Algorithm] Stack & Queue
으녜
2022. 3. 18. 21:45
728x90
※ Stack?
: 모든 원소들의 삽입과 삭제가 리스트의 한쪽 끝에서만 수행되는 제한 조건을 가지는 선형 자료구조
※ Queue?
: 컴퓨터의 기본적인 자료 구조의 한 가지로, 먼저 집어넣은 데이터가 먼저 나오는 FIFO(First in First Out) 구조로 저장하는 형식
사실 스택과 큐는 알고리즘이라기보다 자료구조이다. 알고리즘은 스택이나 큐를 이용해서 문제를 해결하는 방법이라고 할 수 있다. 스택과 큐를 구현하는 것은 어렵지 않다.
[Python Code - Stack 👩🏻💻]
=> 스택은 마지막으로 들어온 원소가 가장 처음으로 나가는 구조이기 때문에 pop() 함수를 사용해 마지막 값을 삭제한다. 따라서 7,4,9를 차례대로 넣어준 뒤 pop()을 하면 마지막에 들어온 9가 리스트에서 삭제되는 형식이다.
[Python Code - Queue 👩🏻💻]
=> 큐는 처음으로 들어온 원소가 가장 처음으로 나가는 FIFO 구조이기 때문에 pop() 함수를 이용하되, 삭제할 인덱스를 0으로 지정해 삭제할 때마다 가장 첫 원소가 삭제된다. 따라서 8,7,6을 리스트에 넣은 후 두 번의 pop()을 수행하면 8,7이 삭제되고, 마지막으로 다시 4를 추가하면 6,4가 리스트 내에 남는다.
728x90