對於計算機科學的學習者來說,算法是一門非常重要的課程。網絡上關於算法的教程非常多,但這些教程魚目混雜,良莠不齊,初學者很難迅速學習並手動實現。因此搜索算法教程來學習的方法會浪費大量的時間,學習效果也不佳。

而系統講解算法的書籍理論性較強,相對枯燥乏味,難以激發讀者的閱讀興趣,且涵蓋內容有限,不能面面俱到。

有沒有有趣又高效的算法學習方法呢?最近,GitHub 上的一個項目引發了大量關注,連續幾天登上熱榜。

項目地址:https://github.com/geekxh/hello-algorithm

該項目中包括熱愛編程的作者小浩撰寫的一本三十萬字的算法題典,全部採用漫畫圖解的方式,簡單易懂,適合初中級讀者。

一邊看漫畫,一邊學算法,聽起來是不是很有趣?下面我們就來看看這個項目的具體內容吧。

項目介紹

該項目包括小浩撰寫的一本三十萬字的算法題典,以及他收集整理的編程類思維導圖、大廠面經,和不同語言編程電子書等。

算法題典

在這本算法題典中,作者對一些經典算法做了講解。講解的形式是首先給出一道應用該算法的題目,比如,在二分法系列的第一節中,作者以一道「愛喫香蕉的珂珂」引入:

題目的呈現方式和在線判題系統(OJ)類似。首先給出一段文字情境描述,然後給出輸入和輸出的示例。在給出題解之前,作者建議讀者自己思考實現一下。

解決這道題目,要用到的是二分查找算法。作者用圖示的方法演示了二分查找的過程。這樣的漫畫演示方式讓讀者能夠清晰明瞭地理解算法的原理。

最後,作者還給出瞭解決原題目的代碼。

算法題解這部分適用於計算機科學的初學者閱讀,用題目和圖畫的方式講解算法,易於理解,且能讓初學者印象深刻。讀者藉助編寫代碼實現算法還能做到舉一反三,這是打好算法基礎的關鍵。

思維導圖

項目作者小浩還整理收集了 100 張思維導圖。思維導圖是一種表達發散性思維的有效圖形思維工具,具有簡單、高效、實用的特點。

以下圖爲例,這張思維導圖展示了在 Python 語言編程中遇到錯誤和異常時你應該怎麼做,清晰地表述出程序中可能存在的問題,以及調試和處理的方法。

用思維導圖整理知識的好處是它能夠大致模擬人的思維過程。例如在調試過程中,思維導圖能夠模擬調試的順序步驟和方法分類,用最簡潔清晰的方式完整地描述方法過程。

大廠面試經驗

項目中另一個很吸引人的部分是大廠面試題目彙總。

作爲拿到大廠 offer 的敲門磚,大廠面試經驗一直受到追捧。但大部分的面試經驗和算法教程一樣,在網絡上零散分佈,且不按話題分類。而在本項目中,作者整理了 100 篇面試經驗,並且按照面試題目涉及的知識點進行分類。不僅適合求職者臨陣磨槍,也適合在校生閱讀學習。

比如,「Java 基礎面試題」中的題目簡單,解答清晰全面,很適合 Java 初學者。對於求職的開發者而言,也能夠起到整理思路、對知識點查缺補漏的作用。

清晰版電子書

作者整理了多本電子書的資源鏈接,目前以 Python 語言的書籍爲主:

以上就是「和小浩學算法」項目的主要內容,能夠一次性收穫這麼多高效實用的資源真是太棒了。

相關文章