2020. 3. 30. 11:16ㆍbasic/자료구조
1. 리스트(List)
- 의미적으로 관련이 있는 데이터의 집합, 목록
- 선형리스트(Linear List)나 연결리스트(Linked List)를 사용해서 구현
1-1. 선형 리스트 : 데이터가 연속되는 기억장소에 저장 (배열, 문자열 등)
1-2. 연결 리스트 : 데이터는 기억장소 임의의 위치에 저장되고, 다음 항목을 가리키는 포인터(링크)를 가짐
단순 연결리스트, 원형 연결리스트, 이중 연결리스트 등
2. 선형리스트
2-1. 배열에 의한 선형리스트 구현
- 배열은 연속되는 기억 장소에 데이터를 저장
- 인덱스를 통해 해당 위치에 직접 접근할 수 있기 때문에, 구현이 상대적으로 쉬움
- 특징 : 인덱스를 통한 직접 접근이 가능하므로 매우 빠르고 구현이 쉬움
배열 크기가 고정되어 있기 때문에, 데이터 수 변화에 따른 유연성이 부족
삽입 · 삭제 시 데이터가 이동해야 하며 변경 속도가 느림
3. 연결리스트
3-1. 정의 : 포인터와 동적 메모리 할당을 기초로 리스트 자료구조를 구현
3-2. 구조 : 데이터와 다음 데이터를 가리키는 포인터가 하나의 노드(Node)를 구성
다음 데이터를 가리키는 포인터가 링크(Link)의 역할을 함
3-3. 종류 : 단순 연결리스트, 이중 연결리스트, 원형 연결리스트, 이중 원형 연결리스트
/* 선형리스트와 연결리스트 실제로 구현해보기 */
<출처>
1. C로 쉽게 풀어쓴 자료구조(2019), 천인국, 생능출판사
2. C언어를 이용한 체험!자료구조(2018), 정기철, 연두에디션
3. C로 배우는 쉬운 자료구조(2013), 이지영, 한빛아카데미
'basic > 자료구조' 카테고리의 다른 글
포인터 배열 구조체 (0) | 2020.03.30 |
---|---|
자료구조와 알고리즘 (0) | 2020.03.23 |