C#이나 자바, 파이썬 같은 현대적 언어를 사용해본 독자는 이 언어들이 표에서 소개한 것보다 더 많은 자료구조 라이브러리를 제공한다는 것을 알고 있을 것입니다. 대개는 이렇게 제공되는 자료구조를 적절히 활용하기만 해도 소프트웨어 개발을 잘 해낼 수 있습니다.
"그렇다면 자료구조를 왜 공부해야 하나요?"
이것이 자료구조+알고리즘이다 with C언어, p.5
자료구조나 알고리즘을 공부하다보면 이런 질문이 들고는 합니다. 좋은 라이브러리들을 잘 찾아서 효과적으로 사용하는 방법을 공부하는 것이 더 효율적이지 않을까? 남들이 이미 잘 만들어 놓은 라이브러리들을 놔두고 왜 자료구조와 알고리즘을 공부해야 할까?
책 소개: 이것이 자료구조+알고리즘이다 with C언어
이 책은 기본적으로 C 언어에 친숙한 독자들을 대상으로 집필되었습니다. C언어에 대해 아주 살짝 다루기는 하는데 문법 전반을 소개하는 것은 아니고 포인터, 구조체, 메모리 레이아웃, 스택에서 데이터를 다루는 방법, 힙에서 데이터를 다루는 방법 들만 아주 살짝 복습하고 지나갑니다. 따라서 C언어를 어느 정도 익힌 분들이 보시는 것이 좋습니다. 물론 요즘엔 파이썬, 자바 등을 이용한 알고리즘 책들도 많이 나오지만 아무래도 C언어를 활용하면 포인터를 이용하여 메모리를 직접 다룰 수 있다는 것이 큰 장점이지 않은가 싶습니다.
이 책은 크게 세 파트로 나누어져 있습니다.
Part I. 자료구조
Part II. 알고리즘
Part III. 알고리즘 설계 기법
Part I. 자료구조 편에서는 리스트, 스택, 큐와 트리에 대한 내용이 담겨있습니다. Part II. 알고리즘 편에서는 여러 가지 정렬, 탐색 알고리즘, 우선순위 큐와 힙, 해시테이블, 그래프, 문자열 탐색에 대하여 담겨있습니다. 마지막 Part III. 알고리즘 설계 기법 편에서는 알고리즘 성능 분석, 분할 정복, 동적 계획법, 탐욕 알고리즘, 백트래킹 등 보다 고급 알고리즘 내용들이 알차게 담겨 있습니다.
자료구조나 알고리즘을 처음 공부하시는 분들은 키워드만 읽어도 어렵고 복잡해보입니다. 저자님이 그런 저같은 사람을 위해 쉽고 재미있는 예시들을 들어가며 친절하게 길을 안내해주십니다.
또한 알고리즘의 전개 과정을 다양한 도식으로 단계별로 담아놓아 복잡한 내용들도 차근차근 읽어내려가면 충분히 이해할 수 있습니다.
오랜만에 만나는 C언어 코드. 최근에는 파이썬 코드들을 주로 보았는데 오랜만에 만나는 C언어는 반갑기도 하고 어색하기도 하네요.
간단한 후기
- 자료구조와 알고리즘을 처음부터 제대로 배우고자 하는 사람들도 충분이 볼 수 있도록 눈높이가 잘 맞춰져 있습니다.
- 수식은 최소화하고 다양한 그림으로 개념들을 쉽게 이해할 수 있도록 돕습니다.
- 컴퓨터 앞에 꽂아놓고 필요할 때마다 꺼내보면 좋을 것 같습니다.
"그렇다면 자료구조를 왜 공부해야 하나요?"
라는 질문에 저자는 이렇게 대답합니다.
첫재, 자료구조의 내부를 이해하면 라이브러리에서 엉뚱한 자료구조를 선택하는 일을 피할 수 있습니다.
둘째, 자료구조는 알고리즘 데이터를 효율적으로 사용할 수 있게 도와주는 핵심 부품 역할을 하기 때문입니다.
...
알고리즘을 체계적으로 공부하지 않아도 프로그래밍을 할 수 있지만, 더 나은 프로그래머가 되기 위해서는 알고리즘에 대해 제대로 알아둘 필요가 있습니다.
이것이 자료구조+알고리즘이다 with C언어, p.5-6
자 이제 자료구조, 알고리즘의 세계로 뛰어들어볼까요?
이 서평은 한빛미디어 <나는 리뷰어다 2022> 서평단 활동으로 무상으로 도서를 제공받아 작성하였습니다. 서평단 활동과 별개로 저의 관심과 필요에 따라 책을 읽고 객관적으로 서평을 작성하려고 노력하였습니다.
그다지 중요하지는 않은 말
제가 이 저자님의 책을 작년에 이미 읽어보았더라구요. ^^ 이 책도 C# 입문하실 분들에게는 추천하는 책입니다!!
[서평] 이것이 C#이다 (한빛미디어) - 입문자에게 가장 탄탄한 기본기를 다져줄 C# 입문서 추천
오늘 읽은 책은 바로 이 책입니다...
댓글