어제 주문해서 오늘 낮에 받아 좀 읽어본 뒤 약간은 성급한 리뷰를 올립니다. (초판으로 처음 알고리즘 공부를 했었고, 개정판으로 수업을 들은 적이 있는 입장이라 나름대로 경솔한 의견은 아님을 미리 알려드립니다. ^^)
내용면에서 흠잡을 데 없는, 정말로 좋은 알고리즘 책입니다. 정말 쉬우면서 상세하게 알고리즘을 설명할 수 있는 방법이 어떤 것인지를 알 수 있게 해 줍니다. 그림과 수식들도 적절히 배치되어 있고, 의사 코드는 명료하며, 긴 문단들이 많지만 지루하지 않습니다. 이 책이 가장 좋은 점은 그러면서도 수학적으로 철저하고, 모든 알고리즘의 증명 과정이 상세히 소개되어 있다는 것입니다. 국내에 이전에 출판되었던 많은 알고리즘 서적 (Robert Sedgewick 의 Algorithms 라던지, C로 배우는 알고리즘 등) 에는 간과된, 하지만 가장 중요한 부분들이죠. 증명 과정을 모른다면, 알고리즘을 진정 이해했다고 할 수는 없을 테니까요.
다른 책을 참조하지 않고도 다루는 분야에 대한 기반 지식을 충분히 얻을 수 있을 만큼 self-contained 되어 있고, 전반적으로 이용되는 분야를 모두 다루고 있습니다.
개정판으로 올라오면서 제 생각에 가장 좋은 발전은 루프 불변조건(loop invariant)을 알고리즘 증명 과정에 도입한 것입니다. 학원에서 알고리즘 강의를 진행한 적이 있었는데, 루프불변조건은 알고리즘의 정당성을 굉장히 간단하고 이해하기 쉽게 증명할 수 있도록 도와줍니다.
연습문제들은 다양하고, 난이도도 만만치 않습니다. 개인적으로 공부하는 학생들을 위해 정답을 공개했다면 좋았겠지만 (짝수번 문제만 공개하는 식으로라도) 참 좋았을텐데, 해답지가 대학에서 이 책으로 알고리즘 과목을 강의하는 교수에게만 제공되는 점이 안타깝습니다.
번역에 관해서도 흠을 잡을 필요가 없다고 여겨집니다. 간혹 어색한 단어 선택(#)과 번역체 어투 (#) 가 보입니다만, 이 분량의 책이 빠른 시간 안에 번역된 것을 감안할 때 용납될 만한 수준이라고 여겨집니다. 번역 용어에 관해서는 어쩌면 개인적 취향과 연결되는 부분이기 때문에 뭐라고 할 수 없습니다만 제가 보기에는 대부분 적절합니다.
(#) 예를 들어, 종합문제 33-3 에서는 전자가 "통과한다" 라기보다는 "교차한다" 단어를 쓰는 것이 적절했을 듯 싶습니다.
(#) 역시 예를 들어, 1054p에서, "문제의 개념을 형식화하고" 보다는 "문제를 개념적으로 명확히 정의하고", 쪽이 이해하기 쉽겠지요.
물론, 번역이 어떻던 간에 이 책 자체는 읽어볼 가치가 있습니다. 넓은 분야를 상세하고 명확하게 설명하고 있는, 논리적이고 튼튼한 기반을 쌓을 수 있게 해주는 최고의 입문서입니다.
이 책을 번역한 것은 언어의 장벽 때문에 이 책을 접하지 못하던 사람들에게 정말로 큰 도움이 될 것입니다. 역자분들께 진심으로 감사드리고 싶습니다. ^^
조건 |f| = c(S,T) 는 f가 최대 플로우임을 의미한다.
- whinii님이 2005-06-29에 작성하신 Yes24 서평 발췌
일단 원서인 Introduction to Algorithms(이하 Intro, yes24의 책 이름에 오타가 있습니다)는 제가 뭐라고 덧붙일 필요도 없을 만큼 유명한 책이므로, 책 내용에 대한 언급은 하지 않겠습니다. 대신 번역서의 최대 관심사인 번역 상태에 대해 이야기 하지요.
제목의 내용도 역시! 와 번역도 역시! 의 역시는 서로 다른 의미입니다. 내용은 "역시나 소문대로 훌륭하군"이지만 번역은 "역시나 번역서가 다 그렇고 그렇지"입니다. 최근 곽용재님을 위시한 번역가들의 훌륭한 번역에 눈높이가 맞추어져서 그런지, 이 책의 번역 수준은 그렇게 높은 편은 아니라고 느껴집니다.
아, 물론 Intro 이전의 알고리즘 분야 명서인 Robert Sedgewick의 Algorithms 2nd Edition(1988년 원서 출간, 1989년 번역서 출간. 이하 한국 서명 알고리즘)을 완전히 망쳐놓은 한글 번역서보다야 백배, 천배 낫긴 합니다. 솔직히 알고리즘은 글자는 한글인데 언어는 한국어가 아니었습니다. 그정도였죠.
Intro도 간혹 영어 문장을 너무 직역하여 오히려 이해에 방해가 되는, 앞뒤가 맞지 않는 부분이 눈에 띄였습니다만, 대학 학부 교재용 등으로 대강 번역해서 나오는 다른 허술한 번역서보다는 훨씬 나은 수준이긴 합니다.
다만 relative prime을 상대적인 소수로 번역한 것, 그리고 푸시 재명명 알고리즘처럼 어색한 한국어 번역에 원어 설명이 첨가되지 않은 것등이 자주 눈에 띄입니다. relative prime은 초중고 교과서에서도 분명히 서로소라는 이름으로 사용하고 있고, 백과 사전과 국어 사전에도 등록된 단어입니다. 쌩뚱맞게 상대적인 소수라니. 그리고 도대체 누가 푸시 재명명 알고리즘이라는 한글명을 보고 곧바로 Push - relabeling을 떠올리겠습니까. 이런건 괄호로 원어를 명시해주었으면 훨씬 더 좋았을 것 같습니다.
가장 대표적인 예가 저것 둘이고, 기타 많은 부분에서 아쉬움이 있긴 합니다. 오탈자도 자주 눈에 띄는 편입니다.
물론 방대한 양의 원서를 겨우 3분이서(대학원생의 도움이 있다고 하더라도) 멋지게 번역하는 것은 힘든 일임에 틀림없습니다. 그러나 Intro의 명성에 누를 끼치지 않도록 오탈자, 잘못된 부분, 표현이 어색한 부분들을 전체적으로 수정하여 다음 판에서는 좀 더 완벽한 번역서를 볼 수 있었으면 좋겠습니다.
길고 두서없는 글 읽어주셔서 감사합니다.
P.S. yes24에 본인이 등록한 서평을 수정하여 올립니다.