對於「算法」的第一印象,我相信大部分人都是一樣的,就是一個“難”字了得。
而我比較特殊,我的第一印象、第二印象以至第 N 印象都覺得很難,所以爲了更好的學習和理解算法,我千金一擲一下買了一堆的算法書,有圖爲證:
但說實話,效果不是很好,於是磊哥就琢磨有沒有更簡單的學習算法的方法?沒想到還真被我找到了,真實應了那句老話“瞎貓碰到死耗子”,呸、不對,是“苦心人天不負”。
那究竟如何輕鬆的學習算法呢?答案就是下面要介紹的這幾個網站。
有了這幾個網站就可以讓你以動畫的形式,看到算法的具體執行過程和數據的具體結構,還有算法的文字講解以及算法的具體實現代碼,接下來一起來看吧。
DataStructureVisualizations
一個數據可視化和算法可視化的網站,用它可以生成各種各樣的數據結構,模擬它們添加和刪除的過程,而且還可以用它來演示算法的執行過程。
內容演示
比如,我們用它來模擬一個二叉搜索樹,如下圖所示:
我們再用它來演示一下快速排序算法,如下圖所示:
網站特點
Data Structure Visualizations 包含了很多的內容,如:常見的數組、鏈表、隊列、二叉搜索樹、紅黑樹、各種排序等,如下圖所示:
訪問地址
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
VisuAlgo
此網站包含了更多的算法,這個從首頁就可以看出來,不僅如此,它還支持關鍵字檢索,如下圖所示:
此網站除了可以以動畫的方式演示算法之外,還包含了算法的文字講解,如下圖所示:
內容演示
接下來我們演示一下冒泡排序的執行過程,如下圖所示:
網站特點
提供了算法的檢索功能
更多的算法支持
可自定義測試數據
文字講解
......
訪問地址
https://visualgo.net/zh
algorithm-visualizer
此網站也支持很多算法,並且此網站提供算法的具體代碼實現,它支持的語言有:Java,C++,JS 等,還有控制檯也會輸出整個執行的過程,能幫你更好的理解算法,如下圖所示:
內容演示
我們用它來演示一下冒泡排序的執行過程,如下圖所示:
網站特點
算法可視化
算法的具體實現代碼(支持 Java、C++、JS 等語言)
控制檯執行步驟輸出(幫助你更好的理解算法)
......
訪問地址
https://algorithm-visualizer.org/
總結
有了這些可視化工具之後,我們就可以更簡單的學習算法了,這三個網站各有春秋,你可以使用 Data Structure Visualizations 來了解數據結構,使用 VisuAlgo 和 algorithm-visualizer 來查看算法的具體執行過程,並使用 algorithm-visualizer 來查看算法的具體實現代碼,真是非常方便,趕快去試試吧。
最後的話原創不易,都看到這了,點個「在看」再走唄,這是對我最大的支持與鼓勵,謝謝你!
往期推薦
關注下方二維碼,每一天都有乾貨!
點亮“在看”,助我寫出更多好文!