: 들어온 순서대로 넣어서 순서대로
사용한다.
스택(Stack)의 경우 넣은 순서대로 사용을 할 수 없기에, 넣었던 순서대로 자료를 사용하고 싶다면 큐(Queue)를 이용한다.
이처럼 먼저 들어간 들어간 원소가 가장 먼저 꺼내지기 때문에 FIFO(First In First Out) : 선입선출 이라고 불린다.
프로세스 처리, CPU 관리에서 많이 사용된다.
<큐(Queue)의 문제점>
[1][2][3][4][5] → [1]을 Pop → [pop][2][3][4][5]
일반적으로 배열을 직선 형태로 보았을 때, [1] 데이터를 Pop하면 다른 데이터를 차례대로 당겨줘야 한다.
이것은 소수의 자료의 경우는 상관이 없지만 많은 데이터의 경우 연산에 많은 시간이 걸린다.
이러한 문제를 해결하기 위해 원형 큐, 순환 큐, 환영 큐 라는 방법이 있다.
배열을 직선으로 보는 것이 아닌 원형으로 보는 방법이다.
<큐(Queue)에서 사용하는 변수>
1. Front : 처음이며, 자료가 나갈 경우(Pop) 이부분의 변수가 나가고 --. (-1이라면 자료의 끝으로 간다.)
2. Rear(Tail) : 꼬이며, 입력 될 경우 이부분이 입력되고 ++. (자료의 끝이라면 0이라고 하면된다.)
'기술면접 > 정리하기' 카테고리의 다른 글
객체 지향(OOP) (0) | 2019.05.14 |
---|---|
자료구조와 알고리즘의 정의와 상관관계 (0) | 2019.05.13 |
힙 메모리 최적화와 오브젝트 풀링 (1) | 2019.05.10 |
메모리 공간 : 데이터(Data)영역, 힙(Heap)영역, 스택(Stack)영역 (0) | 2019.05.09 |
스택 (Stack) (0) | 2019.05.09 |