[자료구조] 스택? 큐?
1. 스택( stack : 쌓아올림 )
출처: http://bluegalaxy.info/codewalk/2018/08/12/python-how-to-implement-a-lifo-stack/
위 사진은 스택의 구조이다.
스택은 정보를 한쪽에서만 넣고 뺄 수 있는 형태이다.
이것을 LIFO 구조라고 말한다.
Last In First Out 이라는 말을 줄여서 표현한것이다.
스택에서 사용되는 함수는 Push와 PoP이 있다.
변수는 Top (초기값 : -1, 꼭데기를 가리키는 변수이다.)
[예외 처리]
자료가 없을때는 "Stack Underflow"
자료를 넣을 수 없을 때는 "Stack Overflow"라는 에러가 생기게 된다.
2. 큐(queue : 줄)
출처 : https://en.wikipedia.org/wiki/Queue_(abstract_data_type)
큐는 stack과 다르게 FIFO구조 이다.
뒤에서 들어가고(enqueue) 앞에서 빠지는(dequeue) 구조
First In First Out 이라는 말을 줄여서 표현한 것이다.
큐는 프로세스 처리, CPU 관리에서 많이 사용되게 된다.
그림과 같은 직선 큐의 문제점으로는 Dequeue가 되면 Dequeue된 자리를 채우기 위에 Back에서 Front까지 자리이동을 해줘야한다.
그래서 이러한 문제점을 해결해주기 위해서 순환 큐 라는 큐 방식이 있다.
( 추가 적인 설명을 보기 위해서 아래 참조 사이트를 참조 )
참조: https://winplz.tistory.com/entry/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%EC%8A%A4%ED%83%9D%EA%B3%BC-%ED%81%90-stack-and-queue
참조 : http://logonluv.blogspot.com/2015/02/datastructure-queue.html
'일상 기술노트' 카테고리의 다른 글
리눅스 정리 (0) | 2019.04.23 |
---|---|
OSI 7계층 쓰임새와 암기 및 알아야할것 (0) | 2019.04.23 |
구글 스프레드시트는 뭘로 만들어진 걸까? (0) | 2019.02.10 |
[웹] 쿠키와 세션의 차이점 - 2. 쿠키와 세션의 특징과 차이점 (0) | 2019.01.31 |
[웹] 쿠키와 세션의 차이점 - 1. 쿠키와 세션의 필요성 http의 특징. (0) | 2019.01.31 |