七個(gè)有創(chuàng)意的數(shù)據(jù)結(jié)構(gòu)與算法可視化網(wǎng)站,推薦給老師、學(xué)生和開發(fā)人員
學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法,如果沒有可視化,許多過程或者結(jié)構(gòu)只能自己腦補(bǔ),這無疑是枯燥、低效的。
今天特別推薦一些有創(chuàng)意的數(shù)據(jù)結(jié)構(gòu)與算法交互式可視化平臺(tái)。特別適合學(xué)生、教師以及算法開發(fā)工程師。
1.algorithm-visualizer
網(wǎng)站:https://algorithm-visualizer.org/
GitHub:https://github.com/algorithm-visualizer/algorithm-visualizer
這個(gè)平臺(tái)都提供了一種引人入勝的方式來幫助理解各種算法。它提供的開發(fā)語言包括JavaScript、C++、Java,可展示的算法包括:回溯、分支定界、暴力破解、分而治之、動(dòng)態(tài)規(guī)劃、貪婪等類別。
2.visualgo
網(wǎng)站:https://visualgo.net/zh
這是一個(gè)由新加坡國立大學(xué)開發(fā)的可視化網(wǎng)站,包含了23種算法的動(dòng)畫,從基本的排序算法到罕見的圖遍歷算法。還有一個(gè)小測驗(yàn)功能來測試自己的學(xué)習(xí)!
3.sorting-algorithms
網(wǎng)站:https://www.toptal.com/developers/sorting-algorithms
這是一個(gè)排序算法可視化,提供各種排序算法的動(dòng)畫。這些動(dòng)畫顯示了在4種不同的初始條件下的8種不同的排序算法。
4.舊金山大學(xué)
數(shù)據(jù)結(jié)構(gòu)與算法可視化
網(wǎng)站:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
5.memlayout
網(wǎng)站:https://memlayout.com/
6.數(shù)據(jù)結(jié)構(gòu)與算法可視化APP
Android下載:https://play.google.com/store/apps/details?id=com.naman14.algovisualizer&utm_source=global_co&utm_medium=prtnr&utm_cnotallow=Mar2515&utm_campaign=PartBadge&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1
GitHub:https://github.com/naman14/AlgorithmVisualizer-Android
7.The-Lazy-People
Android下載:https://play.google.com/store/apps/details?id=com.thelazypeople.algorithmvisualizer
GitHub:https://github.com/The-Lazy-People/Algorithm-Visualizer
Algorithm Visualizer是一個(gè)專門為學(xué)生設(shè)計(jì)的應(yīng)用程序,可以更好地理解算法。它有助于學(xué)生輕松掌握算法的原理。這是一個(gè)包含大部分算法的軟件包,提供了包含的算法有搜索、排序、尋路、圖/樹、N皇后、KMP和馬爾可夫鏈等算法;包含大量的數(shù)據(jù)結(jié)構(gòu),如數(shù)組,圖形,樹,字符串等等。
它可以在學(xué)生的頭腦中培養(yǎng)一種對算法的認(rèn)知,理解算法的執(zhí)行過程。對技術(shù)感興趣的學(xué)生可以理解它,并且可以更好地了解在大學(xué)早期學(xué)習(xí)的課程,并且可以在其中脫穎而出。