- 배열
연속된 메모리 공간에 순차적으로 저장된 데이터들의 집합이다.
동일한 배열 내에 있는 데이터들은 모두 동일한 데이터 타입을 지닌다.
장점
1. 각 데이터에 접근하는 시간이 동일하게 O(1)로 빠르다.
2. 따로 포인터 등의 부가정보를 가질 필요가 없기 때문에 공간 낭비가 적다
단점
1. 처음 선언할 때부터 크기가 정해져있기 때문에 유연한 프로그래밍에 제약이 있고 불필요한 메모리를 차지할 수 있다.
2. 중간 데이터를 삽입 또는 삭제할 때 뒤에 데이터들을 모두 변경해야 한다.
- 연결리스트
노드(데이터의 묶음)를 연결시킨 자료구조
각 노드에는 그 노드의 핵심정보인 key와 다음 노드를 가르키는 포인터인 next가 포함되어 있음
첫번째 노드는 head, 마지막 노드는 tail
장점
1. 데이터 변경 시 그 전 노드의 포인터만 변경시키면 되므로 동적인 데이터 추가/삭제에 유리함
2. 메모리를 비교적 효율적으로 사용할 수 있다.
단점
1. 데이터 탐색 시에 연결리스트를 일일이 탐색해야 하므로 시간복잡도가 O(n)이다.
'학교공부 > 자료구조' 카테고리의 다른 글
[자료구조] Binary Search Tree (2) | 2023.06.02 |
---|