본문 바로가기
방송대 컴퓨터과학과/자료구조

방송대 자료구조 교재 요약 제6 장 - 연결 리스트의 응용

by 신재은👩🏼‍💻 2024. 5. 1.

제6 장 연결 리스트의 응용)

 

개관)

...

학습 목표)

1. 단순 연결 리스트와 이중 연결 리스트의 장단점을 이해한다.

2. 원형 연결 리스트의 장점을 이해한다.

...

자바에서는 연결 리스트가 이중 연결 리스트로 기본 세팅되어 있다.

이걸 단순 연결 리스트나 원형 연결 리스트로 구현하는 방법에 대해서는 내가 찾아 보질 않았는데...

어쨌든 C를 사용하는 이 책에서는 '단순 연결 리스트', '이중 연결 리스트', '원형 연결 리스트'를 다 본다.

...

https://www.geeksforgeeks.org/singly-linked-list-definition-meaning-dsa/
https://www.geeksforgeeks.org/doubly-linked-list-tutorial/
https://www.geeksforgeeks.org/circular-linked-list/

 

볼 때는 쉽다. 그런데 이걸 C로 한 땀 한 땀 구현해야 한다면...

전신에 식은 땀이 난다.

...

1. 연결 리스트의 변형

...

2. 원형 연결 리스트

교재에서는 '변형된 원형 연결 리스트도 있다', '~하는 수도 있지만 이 교재에서는 다루지 않는다'라며 연결 리스트의 다양한 사례를 말한다.

정말 원형 리스트는 쉽지 않다. 🥹 쉽지 않다!!! 🤯

...

3. 이중 연결 리스트

(단순) 연결 리스트는 특정 노드의 선행 노드를 찾거나 리스트 원소들의 역순 검색을 할 경우에 성능이 나빠지거나 복잡한 프로그램 코드를 만들어 내는 경향이 있다.

그런 문제점을 해결하기 위해 제안된 게 이중 연결 리스트다.

이중 연결 리스트에서는 헤드 노드를 유지해 주는 것이 편리하다.

...

해당 챕터의 마지막 말이 압권이다.

연결 리스트는 링크 값이 변경값이 잘못된 경우 잘못된 결과값을 얻을 수도 있고, 엉뚱한 주소값을 가리키게 되어 에러가 발생할 수도 있습니다. 그러므로 하나씩 직접 수정하면서 프로그램 소스 코드를 작성하는 것이 좋습니다.

...

나는 C로 개발은 못 할 거 같다.;