728x90
Array(배열) 과 List의 차이점
Array?
- 다수의 데이터를 그룹핑해서 효율적으로 관리 가능한 자료형으로 데이터에 접근하기 위한 인덱스
가 존재한다.
장점
- 인덱스를 통해 데이터를 가져오기 때문에 조회 속도가 빠르다.
단점
- 인덱스를 통해 데이터를 가져온다 즉, 데이터의 위치가 인덱스와 맵핑되어 고정된다. 추후 데이터가 삭제되는 경우 배열의 빈부분의 메모리가 낭비된다.
- 위의 이유로 배열의 해당 인덱스에 데이터가 존재하는지 파악하는 로직이 추가적으로 필요하다.
List?
- 배열이 가진 인덱스의 장점을 버리고
대신 빈틈없이 데이터를 적재하는 장점을 취한 자료형.
- 순서
가 있으며 중복이 허용되는 자료형.
간단한 이해
- Array(배열)
- 주민등록번호와 비교하면 된다 나의 주민등록번호는 태어날때 부여받게 되는데 나의 앞사람이 사망(?) 한다고해도 나의 주민등록번호가 앞으로 당겨지지 않는것과 같다
- List
- 대기줄과 비교하면 된다 롤러코스터에 처음 대기시 나의 순번이 10번이었다면 나의 앞사람들이 롤러코스터를 탑승하며 점차 나의 순번은 9 8 7 6 .. 으로 변화할 것이다.
비교
추가/ 삭제 | 조회 | |
---|---|---|
Array List | 느림 | 빠름 |
Linked list | 빠름 | 느림 |
순차표현, 연결표현
'CS(Computer Science) > 자료구조' 카테고리의 다른 글
자료구조 - 힙(Heap)이란? (3) | 2019.03.22 |
---|---|
자료구조 - 큐(Queue)란? (0) | 2019.03.21 |
자료구조 - 스택(Stack)이란 (0) | 2018.11.04 |
자료구조 - 이진 트리(Binary Tree)란 (이진탐색트리와의 차이점) - 수정중 (0) | 2018.11.03 |
자료구조 - 이진 탐색 트리(Binary Search Tree)란 - 수정중 (0) | 2018.11.03 |