演算法導論這類書有必要看英文版嗎?

相對於看翻譯本,看英文版有什麼好處


演算法導論壓根就不用看,直接看

CS 97SI: Introduction to Competitive Programming Contests

stanford得課程,ppt寫得比演算法導論好多了

演算法導論很多不必要得繁瑣


翻譯略爛,我推薦看原版,然後跳過證明,直接在腦內不嚴格的推導一遍然後記住就可以了。


個人認為專業書籍在你能看出來「這翻譯的是啥破玩意」之前都可以看中文版。

當然某些壓根就有翻譯錯誤的除外。


之前天天熬夜作死搞了個把月,演算法導論的書和MIT的演算法公開課我都看了,對著課看的書,跳著看的,原作很啰嗦,只看一點點,順便leetcode練了練手,算是了解個劇情梗概。讀透估計至少一年吧。

一點心得:

課程聽英文的,熟悉術語的英文表達其實更容易準確理解,東西都是人家弄的,一些術語未必有唯一準確的中文翻譯。好比門羅主義的」門羅「和」夢露「其實都是Monroe,原汁原味的術語避免歧義。

看書看中文的。閱讀速度快很多,一邊聽課,看到中文術語能反應過來對應的是哪個英文詞就行,可以將節省下transcoding的時間(我不知道怎麼說。。總之就是雖然英文你能看懂,但看英文反應速度沒那麼快,嗯,大概。)你畢竟不是去矽谷工作。


你可以想像一下一個老外老看完了翻譯版的古龍小說的感覺


好處是可以接觸到最新的版本。

壞處是理解時間變長。


少年從仙人手中接過了獨門秘籍,突然狂風大作,只見這獨門秘籍有著黑色的封面暗暗偷著金色的光芒。定睛一看,只見上面印著《演算法導論》四個大字,少年欣喜若狂,此乃修道之人必讀之罕世良書。待陰風散去,少年見到四個字下還有著三個小字「中文版」,少年心頭一驚,急忙問仙人,此中文版乃修行之禁書也,凡練此功者非死即傷,此書當真可讀?只見仙人頷首微笑答道「此乃演算法修行書籍之上上品,必須潛心閱讀,方可悟出真諦,倘若心有雜念,必傷及性命,為師自有一套修行此書之良法,你若肯自宮,必可潛心讀完,修道成仙。」


其實你沒必要這麼糾結,我看的中文版感覺也還好,關鍵是你踏踏實實的去看去寫代碼才是正道,中文英文都OK


如果有中文版的話,一般會查一下中文版翻譯的口碑,如果翻譯還行的話會首選中文版(畢竟看的會快一些。)

如果只有英文版或者翻譯的差的話,就會選英文版了

演算法導論中文版(第三版)的紙質和翻譯都還算良心(偶見翻譯得不太通順的地方)

最良心的是,每頁的旁邊都給出了英文版對應內容的頁數(見下圖箭頭),要是看中文版遇到不懂的地方可以很快找到英文版對應的內容參照著看


感謝邀請,我覺得沒有必要,因為演算法導論中文版已經把思想輪廓講清楚了,差別只在細節上。而這些細節應該靠自己的的思考去補齊。

————————————補充————————————

不過Taocp我認為應該2個版混著看,因為太難懂了。


說實話, 翻譯版的質量還是不錯的. 不過如果第一次看, 我建議英漢對照著看, 以英文版為主, 翻譯版一個做的很差的地方是把代碼分頁了,嵌套的 if .. else容易讓人覺得串列.

另外, Robert Sedgewick的書我也強烈推薦, 一本是C語言描述的,一本是用java描述的,程序可以直接運行,而且他的書更加偏向實戰, 但是演算法種類不如演算法導論全面.額外補充一句,他是Knuth的高足喔, 還有就是紅黑樹的命名他也是參與者之一喔.

看輪子哥也不建議看演算法推導, 但是我覺得第一遍看還是要看一下推導,並且跟著推一遍,雖然開始可能有點艱難,但是一遍下來後,對於演算法分析的能力會有很大提升.如果有啥過不去的,可以去Quora問Charles大神.

額外補充一句, 上來切忌求全, 推不下去就暫時跳過.書讀百遍, 其義自見.


推薦看原版。

舉個例子:第二版16-4,英文原版「If there is no such slot, assign task aj to the latest

of the as yet un?lled slots.」,中文翻譯「如果不存在這樣的槽,則將任務aj賦予一個還未被占的最近的槽。」

首先,latest應該是「最後的」,中文翻譯直接把意思變成相反的了,不能理解。

其次,中文翻譯「槽」、「賦予」等等也不算準確。

----------------

翻譯可能會出錯、造成歧義。

閱讀原文的能力會越練越好,最終提高閱讀效率,有利無害。

全文:Consider the following algorithm for the problem from Section 16.5 of scheduling
unit-time tasks with deadlines and penalties. Let all n time slots be initially empty,
where time slot i is the unit-length slot of time that finishes at time i. We consider
the tasks in order of monotonically decreasing penalty. When considering task aj ,
if there exists a time slot at or before aj 』s deadline dj that is still empty, assign aj
to the latest such slot, filling it. If there is no such slot, assign task aj to the latest
of the as yet unfilled slots.


沒必要吧,有一些詭異的地方,理解一下也能搞懂,主要是看的時候要思考,理解最重要。


看你的水平了,能看懂原版盡量看原版。翻譯再好,也是翻譯的。


演算法導論翻譯得還可以

可以搞個原版做參考著看


沒必要,翻譯者大多都是本行的佼佼者,無論專業水平或者英文水平都比你強得多!!!!


量力而行吧,推薦是看原版,但是你能力有限的話那看原版也沒什麼意思,可能還不如翻譯的理解準確一些。


看原版吧,順便練習英文閱讀,多看英文版可有效提高英文閱讀速度


因為國內譯這些專業書籍的,很多要麼沒學過中文,要麼沒學過專業知識。


沒必要,你把演算法導論看的差不多就行了。要想再提高,看看《The art of computer programming》,再看看論文之類的。


推薦閱讀:

如果讓你推薦一本 Linux 書籍,你會推薦什麼?
有那些有價值的關於計算機互聯網的紀錄片?
內存分頁技術可以讓 32 位操作系統管理 4GiB 以上內存,是什麼原因讓系統可用的物理內存容量受限於 4GiB?
台式電腦主機為什麼要那麼大,僅僅是為了散熱?
零基礎如何學習計算機圖形學?

TAG:演算法 | 計算機 | 計算機科學 | 演算法導論書籍 |