개발지식/자료구조
[자료구조] 배열(array)과 리스트(list)
개발자마이
2022. 1. 26. 21:23
반응형
배열 (array)
- 다수의 데이터를 하나의 이름으로 묶어 관리하기 위한 자료구조로 인덱스와 값으로 구성됨
- 인덱스를 통해 데이터에 접근함 (random access 가능)
- 논리적 저장 순서와 물리적 저장 순서가 일치함 (연속적 메모리 공간 차지)
- 정적 할당으로 크기 변경이 불가능함 (삽입, 삭제시에도 빈 공간은 유지됨)
리스트 (list)
- 메모리 공간 활용이 제한적인 배열의 단점을 극복하기 위해 만들어진 자료구조
- 포인터를 통해 데이터에 접근함 (포인터를 위한 추가 메모리 공간 필요)
- 논리적 저장 순서와 물리적 저장순서가 다름 (불연속적 메모리 공간 차지)
- 동적 할당으로 크기가 가변적임 (삽입, 삭제시 메모리 재할당)
배열과 리스트 비교 (속도 기준)
작업 | 탐색 | 삽입 및 삭제 |
속도 비교 | 배열 > 리스트 | 배열 < 리스트 |
요약
- 배열과 리스트는 둘 다 다수의 데이터를 하나의 이름으로 묶어 관리하기 위한 자료구조이다
- 데이터 크기의 변경 여부와 추가적인 작업(탐색, 삽입/삭제)의 비중을 고려하여 자료구조를 결정하자
- 배열은 탐색에 유리하고, 리스트는 삽입/삭제에 유리하다
반응형