GitHub 標星 2.4w+,這個開源項目讓算法動起來!
- 2019 年 10 月 4 日
- 筆記

轉自大數據文摘,作者蔣寶尚
一門編程語言在入門之後,要想進階,便必須得學好算法和數據結構,但一般的學習過程通常是枯燥無味的,今天在這裡給大家分享個工具,興許能解決你這個問題。
這是一個名為 Algorithm Visualizer 的直觀的算法可視化工具,在裏面你可以自由選擇自己想學習的算法,每個算法它都清晰描繪了其原理和運作過程。

https://github.com/algorithm-visualizer/algorithm-visualizer
開源至今,該項目已在 GitHub 上斬獲 2.4w 個 Star,成為開發者們最喜歡的算法項目之一。感興趣的同學,可以在線玩一下:
https://algorithm-visualizer.org/
如何使用?
工具有了,接下來跟大家講解下如何使用。
這裡以 depth limited Search 為例,對這個工具的大致使用做下演示說明:

如上所示,最左邊的為目錄區,你可以在這裡選擇任何你中意的算法,中間就是算法的動態演示區域與日誌輸出區,而日誌模式則會記錄每次搜索的過程。
最右邊上面有個工具欄,在那裡你可以選擇播放或者暫停,甚至還有播放速度,工具欄下面部分就是代碼區域,該算法的核心代碼都是在這裡體現。

目前支持的算法非常多,其中包括回溯法、加密算法、動態規劃、圖搜索、貪婪算法、搜索算法、排序算法等常用算法。
為了便於大家理解,下面我再提供多另外兩個算法讓大家參考。
二分法檢索:

泛洪填充算法:

可以看到,通過動畫與代碼相結合的學習方式,確實降低了開發者的理解成本,使知識更加容易吸收。
倘若你能學會這款工具的使用,相信後面在學起算法時會更加得心應手,另外還能對他人進行講解演示,真可謂是一舉兩得。
現在,工具有了,你還不開始學起來嗎?
文章轉載自公眾號 大數據文摘 , 作者 文摘菌