반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 유사코드
- 알고리즘의 조건 5가지
- 파이썬
- 알고리즘 표현
- itertools
- 코딩 테스트
- 자바
- 트리
- 유한소수 판별하기
- Tree
- Combination
- 스택
- 프로그래머스
- import itertools
- 과일 장수
- list
- python
- html
- 태그
- 큐
- 알고리즘의 조건
- 알고리즘
- java
- 자료구조
- LV.1
- Import
- 코딩테스트
- 리스트
- 좋은 알고리즘
- 들여쓰기로 표현한 트리
Archives
- Today
- Total
인천의 자유인
자료구조 - 큐(Queue) 본문
728x90
반응형
큐란?
큐(queue)는 가장 먼저 들어간 자료가 가장 먼저 나오는 자료구조입니다.
마치 매표소를 기다리는 대기줄을 생각하면 이해하기 쉽습니다.
이처럼 큐는 먼저 들어간 데이터가 먼저 나가는 선입선출(FIFO: First-In First-On)의 특성을 같는 자료구조입니다.
스택은 a,b,c 이렇게 들어갔을때(삼입) 꺼내면(삭제) c, b, a 순으로 나갔지만 큐는 a, b, c로 삼입이 되면 삭제 순도 똑같이 a,b,c 순서로 나가게 됩니다.
이때 삼입이 일어나는 곳을 후단(rear)이라고 하며, 삭제가 일어나는 곳은 전단(front)이라고 합니다.

반응형
큐의 연산
스택과 마찬가지로 큐에도 숫자나 문자열을 포함한 어떤 자료든 저장할 수 있습니다. 큐에서도 역시 삼입과 삭제가 가장 핵심적인 연산입니다. 이제 큐의 연산에 대해 알아보겠습니다.
큐의 연산
- enqueue(e): 새로운 요소 e를 큐의 맨 뒤에 추가
- dequeue(): 큐의 맨 앞에 있는 요소를 꺼내서 반환
- isEmpty(): 큐가 비어 있으면 True를, 아니면 False를 반환
- isFull(): 큐가 가득 차 있으면 True를, 아니면 False를 반환
- peek(): 큐의 맨 앞에 있는 요소를 삭제하지 않고 반환
- size(): 큐에 들어가 있는 전체 요소의 수를 반환

스택과 마찬가지로 큐에서도 비어있는 상태를 공백이라고 하며, 가득차있는 상태를 포화라고 합니다.
스택과 마찬가지로 큐도 공백인 상태에서 삭제하려 하면 언플로라는 에러가 생기고 포화 상태에서 삼입을 할 경우 오버플로라는 에러가 발생합니다.
728x90
반응형
'알고리즘&자료구조' 카테고리의 다른 글
자료구조(리스트) - 배열 구조 vs 연결된 구조 (0) | 2024.08.12 |
---|---|
자료구조 - 리스트(List) (0) | 2024.08.09 |
자료구조 - 덱(deque) (0) | 2024.08.06 |
파이썬으로 팩토리얼 구하기(반복문, 순환 이용) (0) | 2024.08.01 |
자료구조 - 스택(stack) (0) | 2024.07.29 |