정의
Element(요소)
배열을 구성하는 각각의 값
Index(인덱스)
배열에서의 위치를 가리키는 숫자
값에 대한 유일무이한 식별자 (랜덤 엑세스 가능)
특징
크기가 정해져 있다.
요소 삭제 시 해당 공간이 그대로 남아 있음. → 메모리의 낭비
조회 속도가 빠르다.
인덱스를 활용하여 빠르게 조회 가능
메모리에 연속적으로 데이터가 저장되기 때문
정의
Element(요소)
배열을 구성하는 각각의 값
Index(인덱스)
배열에서의 위치를 가리키는 숫자
값에 대한 유일무이한 식별자 (랜덤 엑세스 가능)
특징
크기가 정해져 있지 않다.
중간에 데이터를 추가/삭제 시 메모리 공간이 확장/축소 된다.
Array의 문제점 해결
조회 속도가 빠르다.
인덱스를 활용하여 빠르게 조회 가능
중간에 데이터 추가/삭제 시 시간이 오래 걸린다.
자료의 이동이 생기기 때문에 오버헤드(연산 추가 및 메모리 낭비)가 발생한다.
정의
Element(요소)
리스트를 구성하는 각각의 값
Index(인덱스)
몇 번째 데이터인가 정도(순서)의 의미를 가짐
유일무이한 식별자가 아님
특징
크기가 가변적이다.
빈 요소는 허용하지 않는다.
조회 속도가 느리다.
인덱스가 순서의 의미만 갖기 때문에, 요소의 위치를 바로 알 수 없다.
중간에 데이터 추가/삭제 시 빠르다.
주소에 의해 연결 되기 때문에 추가/삭제가 용이 함
기능
단일 연결 리스트
원형 연결 리스트
이중 연결 리스트
Array나 ArrayList는 index를 갖고 있기 때문에 검색이 빠르다.
LinkedList는 처음부터 살펴 보아야 하므로(순차) 검색에 있어서는 시간이 더 오래 걸린다.