<뇌를 자극하는 알고리즘>이 대한민국학술원으로부터 우수학술도서로 선정받았습니다.
한빛 미디어의 임직원분들과 리뷰어분들, 그리고 독자 여러분들께 진심으로 감사드립니다. :)

원문 : 한빛미디어 블로그


저작자 표시 비영리 변경 금지

알고리즘
카테고리 컴퓨터/IT
지은이 박상현 (한빛미디어, 2009년)
상세보기

강컴에 등록된 첫 번째 <뇌를 자극하는 알고리즘> 서평
에 대해 반론 형식으로 서평을 주셨습니다. 평점은 별 4개(★★★★)입니다.

사실 첫 서평을 보고 구입을 많이 망설였습니다.

책을 yes** 에서 구입에서 거기다가 서평을 쓸려다 여기다 씁니다만,
님이 설명이 빈약하다고 되어있는 부분은 충분히 설명이 돼었다고 보는데
 
요....중위식을 후위식으로 바꾸는 부분은 잘 설명이 되어있다고 봅니다.
글고 첫 서평분 말씀처럼 수두코드로 간략하게 했으면 좋겠다는 생각이 
강하게 드네요...코드 부분은 넘 길어서 그냥 넘겨버렸습니다.
 
책 자체는 굉장히 쉽게 쓰여져 있고요.. 목차도 굉장히 맘에 들었습니다.
자기전에 조금씩 읽을려고 샀는데 재밌어서 4일 만에 다읽어버렸구요..
약간 햇갈렸던 개념도 좀더 확실히 잡을수 있었네요.
 
수준은 대학교 학부생 정도구요... 기존의 알고리즘 책이 너무 따분하고
재미없으셧던 분들은 한번 읽고 가셔도 무방한듯...
 
어느정도 프로그래밍 경력이 되시는 분이면 그냥 도서관에서 
후딱 읽으셔도 되겠끔 쉽게 쓰여있네요.. 

저작자 표시 비영리 변경 금지

저자가 이미 책을 여러번 써냈기 때문인지, 위트있는 필력으로 내용이 채워져있습니다.

C 문법을 갓 익힌 사람도 따라할 수 있도록 자료구조부터,
많이 사용되는 알고리즘까지 두루 구성되어있기 때문에
초급자부터 중고급자에게도 충분히 유용한 책으로 보입니다.

인터넷에서 저자의 블로그를 찾아보니 블로그를 통해 오탈자나 독자의 메일에 대한 피드백을 하고 있기 때문에 "뇌를 자극하는 알고리즘"으로 공부를 한다면 interactive 한 학습 효과를 누릴 수 있을 것으로 보입니다.

참고로 저자의 블로그 주소는 http://www.seanlab.net/ 입니다.

그리고 교보문고 책소개에 "프로그래머 조명진의 『뇌를 자극하는 알고리즘』" 이라고 되어 있는데, 저자는 조명진씨가 아니라 "박상현" 씨 입니다.
교보문고 측에서 실수를 한 것 같네요^^

저작자 표시 비영리 변경 금지
알고리즘
카테고리 컴퓨터/IT
지은이 박상현 (한빛미디어, 2009년)
상세보기

기다리던 첫 서평이 등록됐는데, 솔직히 마음이 쓰라린 서평이었습니다.

현직 프로그래머들이 쓰는 책들이 대체로 코드을 중요시하는 경향이 있는데 이 책도 예외가 아니다...(후략)
전문을 보시려면 클릭!
솔직히 저 서평에 모두 반박하고 싶은 마음입니다. 다익스트라의 중위표현식을 후위 표현식으로 바꾸는 알고리즘을 별다른 설명없이 사용한다고 하셨는데, 분명히 알고리즘에 대해 설명을 하고 그림으로 알고리즘을 따라 중위 표현식을 후위표현식으로 바꾸는 과정까지도 설명합니다. 코드는 그 다음에 소개를 하고 있지요.

재귀호출에 관해서는 C 언어를 공부한 독자라면 알고 있으리라 생각을 하고 집필을 했으며, 퀵 정렬을 설명하는 부분에서는 반 페이지를 할애하여 또 한번 설명을 합니다. 힙을 설명하는 부분에서도 "제말이 맞는지는 그림을 보세요." 라고 설명한 것이 아니라 깊이 n의 노드가 배열의 2^n-1 ~ 2^(n+1)-2 번 요소에 저장된다는 것을 설명하고 "그 결과"로 k번 인덱스에 위치한 노드의 자식들은 2K+1, 2K+2에 위치한다는 것을 말한 것입니다. 그림을 보라는 것은 이해를 위해 "확인"을 해보라는 것이었지요.

이러쿵 저러쿵 해도, 결국 별 두 개라는 성적표를 받았습니다. 하지만 불행 중 다행으로, 별 두 개도 이 분께서 남기신 서평 중에는 가장 후한 별점이라는 것입니다. <만들면서 배우는 OS 커널의 구조와 원리>는 별 2개, <도전! 임베디드 OS만들기>는 별 1개, SICP(컴퓨터 프로그램의 구조와 해석)에는 별 1개를 주셨거든요. 명저인 SICP가 받은 별정보다 후하게 받았다면 성공한 것 아닐까요? ^^;

게다가 이 분의 서평에서 교훈을 한 가지 얻었습니다. 더 자세한 내용을 원하는 독자를 위해 참고 문헌을 기록해야겠다는 것 말입니다.
저작자 표시 비영리 변경 금지

본 오탈자는 이태영님께서 저에게 메일로 알려주셨습니다.
Quick 정렬의 구현 코드 중 Partition()함수의 while 문의 비교문에 문제가 있습니다. 자세한 내용은 다음과 같습니다.

안녕하세요.
 
서점에서 뇌를 자극하는 알고리즘 책을 구입하고
바로 탐독하고 있는 독자입니다. ^^
책 정말 재밌게 잘 보고 있습니다.
 
다름이 아니라 퀵소트 부분을 보면서
P.207과 알고리즘을 똑같이 구현했는데 책에서 나오는
배열 인덱스 6개로 하면 잘되나 8개 이상으로 하면 어중간하게 되다 말더라구요. 
 
교환이 한 번 덜 된거 같아서 while 을 수정하니까 잘 되어서 이렇게 메일 보내드립니다.
 int Partition( int DataSet[], int Left, int Right )
{
    int First = Left;
    int Pivot = DataSet[First];

    ++Left;

    while( Left <= Right ) // 원래는 Left < Right로 되어 있어 비교를 1회 '덜' 함.
    {
        while( DataSet[Left] <= Pivot )
            ++Left;

        while( DataSet[Right] > Pivot )
            --Right;

        if ( Left < Right )
            Swap( &DataSet[Left], &DataSet[Right]);
        else
            break;
    }

    Swap( &DataSet[First], &DataSet[Right] );

    return Right;
}
저작자 표시 비영리 변경 금지