스택과 큐의 개념에 대해 간단하게 알아보도록 하겠습니다!!
1. 스택
최근에 저장한 데이터를 먼저 사용하는 구조
스택은 한 쪽 끝이 막혀 있는 통과 같은 저장 공간인데요. 마치 상자 안에 책을 쌓는 것과 같습니다!
순서대로 책을 상자 안에 넣다가 책을 뺄 때에는 맨 마지막에 넣었던 책을 먼저 빼게 되죠.
이것을 후입선출, LIFO(Last In First Out)구조(리포)라고 말합니다.
예를 들어, 스택 안에 1 - 2 - 3 - 4- 5 순으로 데이터를 저장하면 데이터를 빼낼 때는 5 - 4 - 3 - 2 - 1 순으로 빼낼 수 있겠죠.
스택에 새로운 데이터를 저장하는 명령어는 push(), 스택에 저장된 데이터를 꺼내는 명령어는 pop()이라고 합니다.
앞서 스택은 선입선출 구조라고 했었죠.
따라서 push()를 하게 되면 현재 top의 +1의 인덱스에 값이 들어가게 되고, 그 뒤로도 계속 위에 값들이 차근차근히 쌓이겠죠.
값을 빼내고 싶다면 pop()을 사용하면 됩니다. 이 때 pop을 하게 되면 top에 있는 데이터가 꺼내집니다.
즉, 맨 마지막에 push()했던 값이 꺼내지게 되는 것입니다.
2. 큐 (Queue)란?
먼저 집어 넣은 데이터가 먼저 나오는 구조
큐는 스택과는 달리 양쪽이 뚫려 있는 통과 같은 저장 공간입니다.
큐는 한쪽으로는 데이터를 저장하고, 다른 한쪽으로는 먼저 저장한 순서대로 데이터를 빼냅니다.
이것을 FIFO(First In First Out)구조(피포)라고 부릅니다.
마치 매표소 대기열에서 먼저 줄을 선 사람이 먼저 나갈 수 있는 상황과 비슷합니다.
먼저 집어넣은 데이터가 나중에 나오는 Stack과는 반대되는 개념이죠!
'혼공학습단 > 컴퓨터 구조 with 운영체제' 카테고리의 다른 글
[컴퓨터 구조] Chapter05 : CPU 성능 향상 기법 (0) | 2024.01.10 |
---|---|
[컴퓨터 구조] 혼공학습단 11기_2주차 (2) | 2024.01.10 |
[컴퓨터 구조] Chapter04 : CPU의 작동 원리 (0) | 2023.12.24 |
[컴퓨터 구조] Chapter01 ~ 03 (0) | 2023.12.21 |
[컴퓨터 구조] 혼공학습단 11기_1주차 (0) | 2023.12.21 |