Scientia Conditorium

[책리뷰] 이것이 자료구조+알고리즘이다 with C언어 리뷰 본문

서평/IT-책

[책리뷰] 이것이 자료구조+알고리즘이다 with C언어 리뷰

크썸 2022. 12. 30. 18:07

[책리뷰] 이것이 자료구조+알고리즘이다 with C언어

 

 

이것이 시리즈 중 자료구조와 알고리즘이 합친 책이 등장했다.

예전에 'C언어로 쉽게 배우는 자료구조' 책이 유명했지만, 그보다는 이 책이 훨씬 더 깔끔하고 좋다.

제목에 with C언어를 붙여서 혼동을 최소화 시킨 것도 마음에 들었다.

자바와 파이썬 왕국에서 C언어로 책을 쓰다니! 라는 사람들이 있을 것 같지만,

자료구조만큼은 메모리 관리가 가능한 언어로 학습해야된다는 것이 내 지론이다.

이유는 어떠한 언어를 쓰던 컴퓨터 내부적으로는 비슷하게 동작하는데, 특히 자료구조의 경우 메모리 구조를 알고 있어야 이해하기 쉽기 때문이다. 따라서 C언어를 통해 메모리 관리를 직접 해보면서 자료구조의 동작 원리를 이해하는 것이 좋다.

이 부분에 대해서는 홍정모 박사님께서도 비슷한 얘기를 해주셨다.

참고 영상 : https://youtu.be/HN8PPPjJ4R8

 

  • 책의 순서도 및 학습 로드맵

처음에는 기본적인 자료구조에 대해 학습하게 된다.

리스트, 스택, 큐, 트리를 보고 이를 이용하여 정렬, 탐색, 해시 테이블, 그래프 알고리즘을 공부하는 방향으로 구성되었다.

C언어를 사용하지만 책의 제목대로 자료구조와 알고리즘에 관한 책이기 때문에 포인터에 대한 내용은 최소화시킨 것이 눈에 띄었다. 내가 가장 싫어하는 책이 제목과 상관없이 언어의 기본 사용법으로 쪽수를 잡아먹는 것이다. 그러나 검증된 시리즈답게 포인터를 왜 사용해야 하는지, 이에 대한 부분만 확실하게 집어주고 곧바로 본 내용으로 들어간다.

 

책의 쪽수는 664쪽으로 생각보다 두툼한데, 책에서 설명하는 예시 코드가 중괄호를 줄의 시작과 끝에 사용하는 방식을 사용했기 때문이다. C언어 진영에서 많이 사용하는 방식 그대로 사용한 것이지만, 이부분은 책의 가격을 위해서 자바진영처럼 줄의 마지막에 중괄호를 써서 쪽수를 줄이는 방식을 사용했으면 어떤가 싶었다.

 

책의 중간중간 이런 자료구조나 알고리즘을 배워서 어디에 사용하는지를 설명해준다. 쓰레기 책들은 '보통 자, 자료구조에는 이러이러한게 있어요. 그럼 다음 내용으로...' 이런 구성인데, 역시 명성대로 초보자들의 궁금증을 확실히 해결해준다. 이뿐만 아니라 중간중간 재미있는 에피소드들을 얘기해주면서 전반적으로 지루하지 않게 해준다.

 

알고리즘의 핵심은 역시 특정 문제에 대해 얼마나 효율적으로 해결할 수 있는가이다. 때문에 가벼운 수학 공식이 들어가 있기도 한다. 그렇기 때문에 이 책을 구입하는 사람들이라면 최소한 위의 내용을 거부감없이 받아들일 수 있어야 한다.

시중에 나와있는 많은 자료구조 책들이 있지만, 역시 메모리를 직접 관리할 수 있는 언어로 집필된 책이 많다. 아무리 주로 사용하는 언어가 자바나 파이썬이라고 할지라도, 최소한 자료구조 공부만큼은 이 책이나 메모리를 직접 관리할 수 있는 언어로 공부했으면 좋겠다.

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."