본문 바로가기
자료구조 | 알고리즘

[자료구조] 큐

by hans-j 2023. 2. 28.

First In FIrst Out 이라는 개념을 가진 선형 자료구조. 선! 입! 선! 출! 

 

Linear Queue와  Circula Queue 가 존재. (Queue스펠링 진짜 이상하다..)

 

 

 

Array로 표현하면 빈공간에 자동적으로 차는게 아니라

 

출처는 이미지에

삭제는 Front(맨 앞의 인덱스)부터 사라짐. ->DeQueue

추가는 Rear(가장 마지막 인덱스) 부터 추가됨 -> EnQueue

이런식으로 응용

 

만약 빈 인덱스에 값이 모두 추가가 되어 자리가 모두 찬 다면 값을 더이상 추가할 수 없다.

(하지만 자바스크립트의 경우는 값에따라 증감되기때문에 배열의 크기가 무한정 커질 수 있다는 단점이 있다.)

따라서 앞당기는 작업이 필요함 

 

//정리 : 배열중간에 추가 or 삭제를 하게되면 위치 이후의 요소들을 한 칸씩 당겨주거나 밀어야한다. 그래서 shift와 unshift는 선형시간이 소요됨.

 

암튼...이럴때 크기가 커지는 것을 막기위해서...

 

어떻게하냐면?

Linked List로 표현하면 된다.

 


Circualr Queue 선형 큐

 

Fornt와 Rear가 이어져있는 Queue이기 때문에 Linked List로 구현했을 때 이점이 없다.

 

배열의 크기를 벗어나는 값이 들어올경우 0번 값부터 시작됨.

 

 

 

출처 : https://towardsdatascience.com/circular-queue-or-ring-buffer-92c7b0193326

 

 


https://school.programmers.co.kr/learn/courses/13213/13213-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EA%B4%91%ED%83%88-%EB%B0%A9%EC%A7%80-a-to-z-javascript

 

코딩테스트 광탈 방지 A to Z : JavaScript

코딩테스트 광탈 방지 A to Z : JavaScript 자료구조와 알고리즘 기본기를 다지고 문제 풀이 꿀팁까지 한 번에 가져가요! 자료구조와 알고리즘 기초부터 코딩 테스트 대표 유형 문제 풀이까지 “A to Z

school.programmers.co.kr

 

'자료구조 | 알고리즘' 카테고리의 다른 글

[자료구조]해시 테이블  (0) 2023.03.02
[자료구조]스택  (0) 2023.01.18
[자료구조]연결리스트  (0) 2023.01.18
[알고리즘]시간 복잡도  (0) 2023.01.18
자료구조와 알고리즘의 차이점은?  (0) 2023.01.18