1. 선형 리스트(ArrayList)
배열과 같이 연속되는 기억장소에 저장되는 리스트
선형 리스트의 특징
-
가장 간단한 자료구조이다.
-
접근속도가 빠르다.
-
중간에 자료를 삽입하기 위해서는 연속된 빈 공간이 있어야 한다.
-
기억장소를 연속적으로 배정하기 때문에 기억장소 사용 효율은 밀도가 1로서 가장 좋다.
-
자료의 개수가 n개일 때 삽입 시의 평균 이동 횟수는 (n+1)/2이고, 삭제 시에는 (n-1)/2이다.
-
삽입, 삭제 시 자료의 이동이 필요하기 때문에 작업이 번거롭다.
2. 연결 리스트(LinkedList)
연결 리스트는 자료들을 연속적으로 배열시키지 않고 임의의 기억공간에 기억시키지만, 자료 순서에 따라 노드의 포인터 부분을 이용하여 연결시킨 자료 구조
연결 리스트의 특징
-
노드의 삽입, 삭제 작업이 용이하다.
-
기억공간이 연속적으로 놓여 있지 않아도 저장이 가능하다.
-
연결을 위한 포인터가 필요하기 때문에 선형 리스트에 비해 기억공간 이용 효율이 좋지 않다.
-
연결을 위한 포인터를 찾는 시간이 필요하기 때문에 접근 속도가 느리다.
-
중간 노드 연결이 끊어지면 그 다음 노드를 찾기 힘들다.
-
희소 행렬 을 링크드 리스트로 표현하면 기억장소가 절약된다.
-
노드 구조를 사용하는 트리 등을 표현할 때 가장 적합한 자료 구조이다.
'자료구조' 카테고리의 다른 글
#자료구조_03_트리 (0) | 2020.01.03 |
---|---|
#자료구조_02_스택, 큐, 데크 (0) | 2020.01.03 |
#자료구조_01_데이터구조분류 (0) | 2020.01.01 |