문제 7-1인 Deque를 갖고 Queue를 구현하는건 사실 쉽다… 나도 소스파일을 짜다 생각한건데, Queue가 Deque의 열화판같은거라서 헤더에서 필요한 기능만 갖다가 쓰면 된다.
CH8 트리의 개요(1)
나무라는 뜻의 트리가 챕터 8의 주제이다. 드디어 첫 비선형구조를 다룬다.
선형자료구조를 다뤘던 관점을 그대로 갖고 비선형자료구조를 다루면 오해하기 쉽다.
자료구조는 데이터를 표현하는 학문이다. 라고 말한 적있다. 이게 선형자료구조에서는, 표현이 곧 저장이었다. 저장이 곧 자료구조의 목표였음. 연결리스트는 저장이 다였고, 스택과 큐는 거기에 데이터를 꺼내는 과정까지..
비선형자료구조는 진짜 데이터의 표현을 다룬다. 그래서 앞으로 설명하는 내용이 좀 달라질 수 있다.
앞에서 배운 연결리스트와 트리를 비교하면서 시작하겠다.
연결리스트를 생각해보자. 그때 다뤘던 자료구조는 다음의 것들을 주로 다루지 않았다.
그럼 무엇을 다뤘는가? 엄밀히 말하면 데이터의 삽입이었다.
이 삽입과정에서, 기반이 배열이면 노드는 추가되지 않았고, 연결리스트기반이면 노드 추가가 부수적으로 따라왔던 것임. 즉 데이터의 삽입이 관련된 내용이 전 단계의 주요 주제였다.
지금까지의 학습 패턴을 보면… 저자가 트리와 관련된 구조체를 정의하고, 이를 다루는 함수들을 정의할텐데, 그 함수들은 데이터의 삽입과 삭제, 데이터 조회와 관련되있을 것이라고 생각하기 쉽다.