728x90
반응형
개념
- 자료구조를 공부할때 배열과 마찬가지로 가장 기본적인 자료형
- 비슷한 특성을 가진 자료들을 연결 해놓은 것
- 중복된 데이터를 허용하며 데이터를 나란히 저장하는 자료구조.
- 순차리스트와 연결리스트로 나뉨
연결 리스트
- 싱글 링크드 리스트, 더블 링크드 리스트 등이 있다.
- 저장 공간의 불연속성
[data] -> [data] -> [data] -> [data] -> [data] - (자료의 주소 값으로 서로 연결되어 있다.)
싱글 링크드 리스트
- 배열과 달리 동적할당 기반으로 효율적인 삽입/삭제가 가능하다.
- 다음 노드의 포인터를 갖고 포인터를 통하여 접근한다.
더블 링크드 리스트
- 싱글 링크드 리스트는 다음 노드만 알지만 더블 링크드 리스트는 이전 노드의 포인터도 갖고 있다.
- 이전 노드를 알 수 있는 장점이 있지만, 그만큼 정보를 가져야 하기 때문에 싱글 링크드 리스트보다 크다.
순차 리스트
- 배열의 특징을 갖고 있다.
- 저장 공간의 연속성
[data1][data2][data3][data4][data5] - (인덱스 0부터 4까지)
- 자세한것은 링크 참조
* 개념적으로 '리스트' 라는건 순차,연결 리스트의 형태로 만들어 놓은 자료구조들을 일컫는 말이다. 싱글 링크드 리스트, 더블 링크드 리스트, 배열리스트 모두 리스트 구조로 만들어진 자료구조이기에 '리스트 = 모든 리스트 자료구조들'로 이해하면 된다.
* 참고로 C#에서 주로 사용되는 List<T>는 ArrayList에 속한다.... 충격...
반응형
'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글
Array와 ArrayList의 차이 (0) | 2020.04.09 |
---|---|
ArrayList (배열리스트) (0) | 2020.04.09 |
Override (오버라이드) (0) | 2020.04.08 |
Array (배열) (0) | 2020.04.06 |
파일구조 (0) | 2020.04.06 |