리스트 자료구조

2020. 3. 30. 11:16basic/자료구조

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