LinkedList 123단원의 공부를 끝냈다.
- 첫 단원에선 배열과 기본적인 구조를 활용하여 연결 리스트를 공부하였다.
- 두 번째 단원에선 단방향 연결리스트를 기반으로 조회, 추가, 삭제하는 방법에 대해 언급했다.
- 세 번째 단원에서는 단방향 연결리스트 뿐만 아니라, 원형 리스트, 양방향 리스트에 대해서 배웠고, 위와 동일한 기능들을 구현하였다.
세 번째 단원까지 공부하고 든 생각은, 2,3단원 모두 동일한 기능을 구현하고 있다는 점이다. (삭제, 조회, 삭제 정렬 등..)
기능은 동일하지만, 대상이 되는 연결리스트의 형태에 따라서 구현 방법이 조금씩 다르기 때문에 각 연결리스트의 특징과, 그 특징으로 인해 구현이 바뀌는 이유를 연결지어 정리하면 좋을 것 같다는 생각이 들었다.
처음 연결리스트를 공부할 때는 막막했다. 코드 내용을 이해하기 바빴고, 특히나 포인터와 구조체를 배운지 시간이 꽤 흘렀기 때문에, 문법도 익숙하지 않았다.
하지만, 오히려 원형 리스트와, 양방향 리스트를 배우면서 리스트에 대한 이해가 더 깊어졌다. 단방향 리스트 구조체 안에 있던 요소들의 의미를 이해하기 어려웠으나, 뒤의 내용과 비교, 연결지어 이해하니 역으로 ‘아 그래서 이렇게 구성할 수 밖에 없었구나’라고 생각이 들었던 것 같다.
뒤에 있는 스택과 큐 부분도 벌써 궁금하다. 그리고 빨리 자구 끝내고 알고리즘 문제 풀어보고 싶다.
'프로그래밍 > Data Structure' 카테고리의 다른 글
| 10. Sort #1 Basic sort Algorithm (0) | 2025.03.10 |
|---|---|
| 3. Queue (0) | 2025.02.21 |
| 2. Stack #2 Caculator Algorithm1 (1) | 2025.01.26 |
| 2. Stack #1 ADT && structure (1) | 2025.01.25 |
| 1. Linked List #1 Array based list (0) | 2025.01.24 |