Array
- 연속적인 공간에 요소를 저장한다(인덱스로 한 번에 접근 가능)
- 배열 크기가 고정되어 있다.
- 특정 인덱스에 접근하는데 상수시간이 걸린다.
- 원소를 중간에 삽입, 삭제하면 비용이 많이 든다(인덱스에 맞게 원소들을 이동시켜야 하기 때문)
일열로 메모리에 저장되어 검색에 유리하다
Linked List
- 각 요소가 메모리 임의의 위치에 배치될 수 있으며, 각 요소는 다음 요소를 가리키는 링크로 연결이 된다.
- 배열 크기를 동적으로 조정할 수 있다.
- 특정 인덱스를 찾으려면 처음부터 순차적으로 탐색해야 한다. (길이가 길수록 오래 걸림)
- 원소 중간에 삽입, 삭제 비용이 적다 (데이터를 넣고 앞뒤 링크만 연결하면 된다. 단 특정 인덱스를 찾을 때 시간이 소요된다.)
다음 요소의 메모리 주소를 통해 리스트를 만든다.
'CS' 카테고리의 다른 글
[자료구조] Tread와 Process의 차이 (쓰레싱) (0) | 2023.10.01 |
---|---|
[자료구조] 해시테이블(Hash Table)이란? (0) | 2023.09.30 |
[자료구조] 자료구조와 알고리즘의 개념 (0) | 2023.09.30 |
[프로그래밍] 메모리 구조의 네 가지 영역 설명 (0) | 2023.09.30 |
[프로그래밍] MAS란? 마이크로서비스 아키텍처 (0) | 2023.09.30 |