List 란?
26 Sep 2019 | EtcList (리스트)
- 원소간 순서 개념이 있다.
-
기본적인 연산 : 삽입, 삭제, 검색 등등
- 리스트를 구현하는 대표적인 두 가지 방법
- 배열
- 연결리스트
배열
-
장점
- 랜덤 액세스가 가능하다 -> 검색 속도가 빠르다. ex) 4번째 칸 : 시작 주소 + 3 * (1칸의 크기)
-
단점
-
크기가 고정 - reallocation이 필요하다.
-
리스트의 중간에 원소를 삽입하거나 삭제할 경우 다수의 데이터를 옮겨야 한다.
-
연결리스트
- 특징
- 각각의 노드는 데이터 필드와 하나 이상의 링크 필드로 구성
- 링크 필드는 다음 노드의 주소를 저장한다.
- 첫 번쨰 노드의 주소는 따로 저장해야 한다.
- 마지막 노드의 next 필드에는 NULL을 저장하여 연결리스트의 끝임을 표시한다.
- 장점
- 다른 데이터의 이동없이 중간에 삽입이나 삭제가 가능하다.
- 길이의 제한이 없다.
- 단점
- 랜덤 엑세스가 불가능하다 -> 검색속도 느리다.