面試網(wǎng)站:topjavaer.cn 大家好,我是大彬~ 很多初學者在學習數(shù)據(jù)結(jié)構(gòu)與算法的時候,,都會覺得很難,,很大一部分是因為數(shù)據(jù)結(jié)構(gòu)與算法本身比較抽象,不好理解,。對于這一點,,可以通過一些可視化動畫來幫助理解。 下面大彬推薦幾個學習數(shù)據(jù)結(jié)構(gòu)和算法的可視化工具,。 Data Structure Visualizations這是一個在線數(shù)據(jù)可視化工具,,可以手動創(chuàng)建各種數(shù)據(jù)結(jié)構(gòu),包括隊列,、棧,、堆、樹等等,,并且支持遞歸,、排序、搜索等算法的動態(tài)演示,。該工具由舊金山大學開發(fā),。 地址:https://www.cs./~galles/visualization/Algorithms.html 這個工具通過可視化的方式展現(xiàn)了數(shù)據(jù)結(jié)構(gòu)和算法,方便我們理解其中的原理。網(wǎng)站容易操作,、內(nèi)容豐富且容易理解,,非常nice~雖然網(wǎng)站是英文的,不過都是些容易理解的術(shù)語,,英文不好的小伙伴也不會有很大的閱讀障礙,。 下圖演示紅黑樹插入節(jié)點的操作,非常直觀,! visualgo該網(wǎng)站由 Steven Halim 博士開發(fā),,對于理解數(shù)據(jù)結(jié)構(gòu)與算法非常有幫助。網(wǎng)站里面包含了排序,、鏈表,、哈希表、二叉搜索樹,、遞歸樹,、循環(huán)查找等常見算法動畫,。 地址:https:///zh 在動畫執(zhí)行的過程中,,還會在網(wǎng)站右下角高亮展示動畫的代碼邏輯。非常適合初學者學習鞏固自己的算法知識,。 BinaryTreeVisualiser一款二叉樹可視化的工具,,可以用來學習二叉樹,超級好用,。 地址:http://btv./home.html btree-js這是一個專門演示B樹的工具,,可以在上面插入節(jié)點模擬B樹的構(gòu)建過程,對于理解B樹這種數(shù)據(jù)結(jié)構(gòu)非常有幫助,。 地址:https://yangez./btree-js/ Algorithm VisualizerAlgorithm Visualizer 是一個可視化代碼算法的交互式平臺,,內(nèi)含多種算法(回溯、動態(tài)規(guī)劃,、貪心等)并進行了可視化動畫呈現(xiàn),,讓學習算法和數(shù)據(jù)結(jié)構(gòu)更加直觀。 地址:https:/// 目前支持的算法包括回溯法,、動態(tài)規(guī)劃,、貪婪算法、排序算法,、搜索算法等,。 Algorithm Visualizer支持js/C++/Java語言,運行會有動態(tài)圖演示代碼運行過程,,日志輸出區(qū)記錄每次搜索的過程,。 bigocheatsheet這個網(wǎng)站總結(jié)了常用算法的時空Big-O復(fù)雜性,常見數(shù)據(jù)結(jié)構(gòu)操作的時間復(fù)雜度。 地址:https://www./ Algorithms-DataStructures-BigONotation這也是一個可以查看算法分析的網(wǎng)站工具,,功能相比bigocheatsheet,,更豐富一些。 地址:http://cooervo./Algorithms-DataStructures-BigONotation/index.html 以上就是今天要推薦的幾個學習數(shù)據(jù)結(jié)構(gòu)和算法的可視化網(wǎng)站,,希望對大家有幫助~ |
|