我的新書《程式設計之法:面試和演算法心得》終於上市 [內含勘誤]

v_JULY_v發表於2015-10-21

      我的新書《程式設計之法:面試和演算法心得》終於上市

 

 

經過一天一天、一月一月、一年一年漫長的修改、優化、等待,我的新書《程式設計之法:面試和演算法心得》終於上架開賣了!

 

 

 

 

1  新書試讀

10月13日晚上,拿到《程式設計之法》第一本樣書
10月14日下午三點半,非同步社群首發開賣,可以到這裡試讀新書第一章、第六章 或下載PDF樣章http://www.epubit.com.cn/book/details/4051
 隨後,10月17日,新書上架互動出版網。
10月21日,新書上架噹噹:http://product.dangdang.com/23796222.html
10月28日,新書上架京東,京東購買地址:http://item.jd.com/11786791.html

 

 

2  新書前言與目錄

此外,也可以通過京東的連結檢視完整目錄:http://item.jd.com/11786791.html

 

 

3  新書特點

  • 新書質量遠高於部落格,在部落格的基礎上做了極大徹底的改進、優化。
  • 每道題目多種思路、多種解法,且從最容易想到的思路開始講起。由淺入深、通俗易懂。
  • 為了讓大家閱讀省心不費勁,最大限度站在初學者角度闡述,力保通俗易懂,看著舒服省心,就像看小說那樣。
  • 部落格 + 七月線上課程 + 七月題庫APP + 新書《程式設計之法》,找工作的 4 大幫手!
  • 本書適合熱愛程式設計、演算法、機器學習的朋友閱讀。不論是否工作,都可以看。
  • 入選《人郵非同步社群2015年度原創圖書TOP10》、《人民郵電出版社2015年度好書》等等。

京東http://item.jd.com/11786791.html。現貨,北京的第一天下單,預計最快當天即可送達。
噹噹:http://product.dangdang.com/23796222.html

 

購買到新書後,歡迎微博曬書曬閱讀心得 並AT@研究者July,可能會被我轉發或小驚喜。

 

 

4  新書勘誤

《程式設計之法》第一版第一次印刷勘誤,大部分是筆誤,其餘少部分則是錯誤,以及一些完善改進,分別在第二次印刷、第三次印刷、第四次印刷、第五次印刷時修正或改進(目前應該已能在非同步社群買到印):

  • 第2頁 倒數第二段,是“謹以本書獻給我部落格的所有讀者”,是“謹”非僅  [2印已修正]
  • 第10頁 相鄰兩個位置a_i < a_i + 1,“i”和“i+1”都是下標 [2印已修正]
  • 第11頁 左大括號“{”統一放在下一行 [2印已修正]
  • 第29頁 遞迴呼叫QuickSelect(Sb, k - |Sa| - 1)並返回,少了一個“|”符號 [3印已修正]
  • 第34頁 解法一中 “cout << n << endl”後面少一行程式碼“list1.reverse()”。   [3印修正]
  • 第36頁 “問題擴充套件”裡的關於01揹包問題的題目概”的第2行中:“消耗的費用“改為”消耗的容量” [3印改進]
  • 第43 決定了後面剩下的n-1級臺階的跳法數目的不同  刪掉n-1級 [3印修正]
  • 第47頁 第二行註釋是“主元”,非“主無”    [4印修正]
  • 第57頁 而施特拉森演算法複雜度也只是  [3印修正]
  • 第65頁 2是3的原根,即d=φ(3)=2  [3印修正]
  • 第73頁 第30題 是|(2 + 4 + 6) - (5 + 7)| = 0,|(2 + 10) - (5 + 6)| = 1  [3印修正]
  • 第75頁 第45題與第58題重複 刪掉第45題 [3印修正]
  • 第82頁 最壞情況下的時間複雜度為O(n)   [2印已修正]
  • 第84頁 第一行註釋改進為:“//定義y:y是x的右孩子”,第三行註釋改為“//x的父結點成為y的父結點”。  [4印修正]
  • 第85頁 圖3-4,結點c、結點a 不是連在b下,而是連在x下 [4 印修正]
  • 第87頁 執行上述操作後圖3-5所示的樹變成圖3-6所示的樣子,是“樹”非“數”  [3印修正]
  • 第87頁 圖3-6中結點7改為紅色、結點5和結點8改為黑色。[2印已修正]
  • 第88頁 圖3-7中有兩個結點2,更上面的結點2改為結點7。[2印已修正]
  • 第88頁,倒數第2段開頭,“最後,把根節點塗為紅色”,應該是“塗為黑色”。[5印將修正]
  • 第90頁,倒數第2段結尾,O(log2n),其中2為下標。[5印將修正]
  • 第98頁 圖3-16筆誤,上面是“G M”沒錯,但下面是:ACE HK NQ [4印修正]
  • 第101頁 圖3-25筆誤,左下角是ACDF,右邊子樹是QX [4印修正]
  • 第105頁,第2段,least common ancestors,改為:Lowest Common Ancestor。[5印將修正]
  • 第158頁 參考程式碼需要修改,詳見本文評論下的第54樓評論回覆。
  • 第188頁 參考資料:A. Broder and M. Mitzenmacher. Network applications of bloom filters: A survey. Internet Mathematics, 1(4):485–509, 2005. 連結為 http://www.eecs.harvard.edu/~michaelm/postscripts/im2005b.pdf
  • 第200頁 第二段 最後一句,”原始向量“中的“始”字筆誤  [3印已修正]
  • 第211頁 歐式距離公式 前一個根號跟後一個根號獨自獨立分開 [2印已修正]
  • 第215頁 腳註2 把二維空間中的“一維直線”,非“一堆直線”  [3印已修正]
  • 第216頁~218頁 凡是函式間隔的上面是“^”符號,凡是幾何間隔的上面是“~”符號,可參考本部落格內的SVM一文 [2印、3印已修正]
  • 第217頁 第二行,把“分類間隔”改成“超平面”  [4 印修正]
  • 第222頁 中間第2個大公式的倒數那五行的開頭全部都少了一個“ - ”號  [4 印修正]
  • 第229頁 y1 != y2時,根據可得  [3印已修正]
  • 第231頁 倒數第4段“所以該演算法表現出整理的快速收斂性”一句中,“整理”一詞筆誤,“整理”改成“較好”。 [4印已修正]
  • 第234頁 第6題 是C++,非C+++ [3印已修正]
  • 第236頁 第7題“如果連結串列中有環,可再分別在..”,去掉“再”[3印已改進]
  • 第239頁 第2題 是T m_stack1,去掉">"符號 [2印已修正]
  • 第258頁 第12題 用什麼方法能讓90%的查詢能在100ms內返回結果,去掉第二個“能” [2印已改進]

    除了上述所列勘誤,如果你還發現了其他任何勘誤,歡迎隨時在本文下留言評論指正,thanks。

    感謝我部落格上所有讀者的訪問、瀏覽、關注、支援、留言、評論、批評、指正,謹以本書獻給我部落格的所有讀者。歡迎推薦給身邊更多人、幫助更多人。July、二零一五年十月二十一日。

相關文章