진짜 개발자
본문 바로가기

CS(Computer Science)/자료구조

자료구조 - Array(배열과) List 비교

728x90
Array(배열) 과 List의 차이점

Array(배열) 과 List의 차이점

Array?

- 다수의 데이터를 그룹핑해서 효율적으로 관리 가능한 자료형으로 데이터에 접근하기 위한 인덱스가 존재한다.

장점

- 인덱스를 통해 데이터를 가져오기 때문에 조회 속도가 빠르다.

단점

- 인덱스를 통해 데이터를 가져온다 즉, 데이터의 위치가 인덱스와 맵핑되어 고정된다. 추후 데이터가 삭제되는 경우 배열의 빈부분의 메모리가 낭비된다.

- 위의 이유로 배열의 해당 인덱스에 데이터가 존재하는지 파악하는 로직이 추가적으로 필요하다.

 

List?

- 배열이 가진 인덱스의 장점을 버리고 대신 빈틈없이 데이터를 적재하는 장점을 취한 자료형.

- 순서가 있으며 중복이 허용되는 자료형.

 

 

간단한 이해

  1. Array(배열)

- 주민등록번호와 비교하면 된다 나의 주민등록번호는 태어날때 부여받게 되는데 나의 앞사람이 사망(?) 한다고해도 나의 주민등록번호가 앞으로 당겨지지 않는것과 같다

 

  1. List

- 대기줄과 비교하면 된다 롤러코스터에 처음 대기시 나의 순번이 10번이었다면 나의 앞사람들이 롤러코스터를 탑승하며 점차 나의 순번은 9 8 7 6 .. 으로 변화할 것이다.

 

 

비교

 추가/ 삭제조회
Array List느림빠름
Linked list빠름느림

 

순차표현, 연결표현

https://galid1.tistory.com/91