跳至主要內容

Hello 算法 - 淺顯易懂學習資料結構與演算法|逐步圖解演算法 提供多種程式語言範例|網站互動拉滿 可查看程式執行步驟

今天要來跟大家介紹一個專案 - Hello 算法,這個專案提供了一個互動性極高的網站,使用淺顯易懂的方式講解各種資料結構與演算法,適合剛步入這個領域的初學者使用。

The Walking Fish 步行魚
The Walking Fish 步行魚 ·
791 字 · 閱讀時間: 2 分鐘 · ...
Hello 算法 - 淺顯易懂學習資料結構與演算法|逐步圖解演算法 提供多種程式語言範例|網站互動拉滿 可查看程式執行步驟
Fig. 01 — Hello 算法 - 淺顯易懂學習資料結構與演算法|逐步圖解演算法 提供多種程式 … FEATURED IMAGE

今天我要來跟大家推薦一個我覺得蠻有趣的專案,叫做 Hello 算法。

資訊類科系的學生們,基本上都會上到資料結構與演算法的課程,而這個專案提供了一個非常淺顯易懂且具互動性的網頁,可以讓剛開始學習 資料結構與演算法 的初學者輕鬆上手。

Hello 算法網站預覽

專案介紹

專案網址: https://github.com/krahets/hello-algo
Hello 算法 - 網頁: https://www.hello-algo.com/

根據專案的 README 文件所述,此專案的目的是在打造一個開源免費、新手友善的資料結構與演算法入門教學。個人感覺 Hello 算法 在這個部分做的真的很好,不只步驟講解清楚,也提供了範例程式碼參考。

以下就讓我們詳細看看專案的網站長什麼樣子。

專案 Github 頁面

網站頁面

網站的介面相當的簡單明瞭,左側是全部目錄,中間是內容,右側是該章節的目錄。

網站頁面預覽

提供詳細步驟圖解

網站上每個演算法的頁面都有清楚詳細的步驟分解圖,讓使用者可以完整了解演算法的運作流程。

提供步驟分解圖

提供程式語言實作範例

此外,網站也提供了各式程式語言的實作範例,像是 Python、C++、JavaScript 等常見語言基本上都有涵蓋。

提供多種程式語言的範例-JS 提供多種程式語言的範例-C++

提供可視化執行

我個人是之前就有用過這個專案,但最近再次打開時發現,網站新增了一個 可視化執行 的功能。透過這項功能,我們可以觀察程式執行時,迴圈的每個步驟、變數如何改變、以及 print 的輸出結果等。這對於理解演算法的執行過程有很大的幫助。

提供 PDF 版

Hello 算法這個專案,其實也有提供 PDF 版可供選擇,讓我們可以在任何時候學習。但我個人會比較推薦大家使用網頁版,因為它的互動設計做的相當好。

提供PDF版 PDF預覽

小缺點

如果要提可能的小缺點,對於台灣人來說,大概就是專有名詞的翻譯與台灣不同,像是 stack/queue 台灣會翻 堆疊/佇列,對岸會用栈/队列;hash 台灣會翻雜湊,對岸則是翻成哈希。當然,這邊不是要說哪種翻譯比較好,只是很單純的考量到在跟教授或同學等人對話時,使用對岸的翻法,對方未必會知道你想表達的意思。

兩岸翻譯有所不同 台灣習慣將stack翻成堆疊

End

以上就是Hello 算法的簡單介紹,這個真的是互動做得非常好的,相關知識也講解非常詳細的資料結構與演算法學習專案。

影片介紹

SHARE / 分享此文章