1. 연결 큐의 이해와 구현
① 단순 연결 리스트를 이용한 큐
- 큐의 원소 : 단순 연결 리스트의 노드
- 큐의 원소의 순서 : 노드의 링크 포인터로 연결
- 초기 상태와 공백 상태 : front =rear =null
② 연결 큐 원소 삭제 알고리즘
- 삭제 연산에서 삭제할 노드는 큐의 첫 번째 노드로, 포인터 front가 가리키고 있는 노드
- Front가 가리키는 노드를 포인터 old가 가리키게 하여 삭제할 노드로 지정
- 삭제 연산 후에는 현재 front 노드 다음 노드(front.link)가 front 노드가 되어야 하므로 포인터 front 재설정
- 현재 큐에 노드가 하나뿐이어서 재설정한 front가 niull이되는 경우에는 삭제 연산 후에 공백 큐가 되므로 포인터 rear를 Null로 설정
③ 연결 큐에서의 연산 과정
2. 데크의 개념과 구현
① 데크
- 큐 두개 중 하나를 좌우로 뒤집어서 붙인 구조
- 큐의 양쪽 끝에서 삽입 연산과 삭제 연산을 수행할 수 있도록 확장한 자료구조
②데크의 연산 과정
③ 데크의 구현
- 양쪽 끝에서 삽입, 삭제 연산을 수행하면서 크기 변화와 저장된 원소의 순서변화가 많으므로
순차 자료구조는 비효율적임!
- 양방향으로 연산이 가능한 이중 연결 리스트를 사용
3. 큐의 응용
① 운영체제의 작업 큐
- 프린터 버퍼 큐
: CPU에서 프린터로 보낸 데이터 순서대로(선입선출) 프린터에서 출력하기 위해서 선입선출 구조의 큐 사용
- 스케줄링 큐
: CPU 사용을 요청한 프로세서들의 순서를 스케줄링 하기 위해서 큐를 사용
② 시뮬레이션에서의 큐잉 시스템
- 시뮬레이션을 위한 수학적 모델링에서 대기행렬과 대기시간 등을 모델링 하기 위해서 큐의 이론 사용
'CS공부 > 학점은행_자료구조' 카테고리의 다른 글
10-2 이진 트리 순회의 개념 (0) | 2023.08.23 |
---|---|
10-1 트리와 이진트리 (0) | 2023.08.23 |
9-1 선형 큐와 원형 큐 (0) | 2023.08.15 |
5-2 단순 리스트 연산 (삭제, 탐색) (0) | 2023.07.19 |
4-2 다차원 배열을 이용한 선형리스트 구현 (0) | 2023.07.12 |