배열
- 동일한 타입의 데이터들을 순서대로 나열하고 인덱스로 접근
- 장단점
- 장점: 인덱스를 통해 특정 데이터에 빠르게 접근
- 단점: 데이터를 연속된 공간에 저장함 - 미리 배열 크기 선언 필요, 데이터 추가/삭제가 곤란함
- 데이터 추가: 추가 데이터를 저장할 공간 점유가 어려울 경우 다른 공간에 다시 배열을 생성
- 데이터 삭제: 배열 중간에 위치하는 데이터 삭제시에 뒤의 데이터를 당겨와야함
큐
- FIFO(First-In, First-Out): 먼저 들어온 데이터가 먼저 꺼내진다.
- 용어
- enqueue: 큐에 데이터 추가
- dequeue: 큐에서 데이터 획득
- 파이썬의 큐:
- Queue(): 일반 큐
- LifoQueue(): Last-in, First-out 큐. 스택과 같다.
- PriorityQueue(): 우선순위가 높은 데이터 먼저 출력
- 사용 예
- 운영체제에서 프로세스 스케쥴링 방식 구현에 사용
- 언급할만한 장단점 없음
큐: https://github.com/canlion/algorithm_study/blob/main/1_queue.ipynb