Stack 과 Queue
2023. 10. 27. 00:11ㆍ컴퓨터/자료구조
Stack 과 Queue에 대해 간단히 공부했다.
둘다 선형 자료구조로 자료가 일렬로 있는 자료구조이다.
Stack = 후입 선출(LIFO)
Queue = 선입 선출(FIFO)
Stack은 마지막으로 들어온 데이터가 첫 번째로 나가는 Last In First Out 구조이다.
Push로 데이터가 들어오고
Pop으로 데이터가 나간다.
Peek는 다음 데이터를 꺼내지 않고 보는것
Queue는 첫 번째로 들어온 데이터가 첫 번째로 나가는 First In First Out 구조이다.
InQueue로 데이터가 들어오고
DeQueue로 데이터가 나간다.
동일하게 Peek는 다음 데이터를 꺼내지 않고 보는것
그렇다면, Linked List로 First Node , Last Node 해서 똑같은 구조를 만들 수 있는 것 아닌가라는 의문점이 생길수도 있다.
->더 쓰기 편하도록 자료구조를 만든것!
List로도 만들 수 있다.
List로 Stack을 구현한다면 마지막 데이터를 꺼내서 쓰면 된다.
하지만 List로 Queue를 구현하는것은 비효율적이다. 왜냐하면 첫 번째 데이터를 꺼내면 나머지 뒷 데이터들의 이동 비용이 생기기 때문 따라서 순환버퍼? 로 구현한다고 한다.
Stack은 여러 UI를 후순으로 처리하는곳에 쓰인다고 하고
Queue는 네트워크에서 요청을 순서대로 처리하는곳에 쓰인다고 한다.
'컴퓨터 > 자료구조' 카테고리의 다른 글
Tree 구현하기 (0) | 2023.11.01 |
---|---|
그래프 (0) | 2023.10.27 |
Linked List (0) | 2023.10.12 |