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