学习数据结构与算法,如果没有可视化,许多过程或者结构只能自己脑补,这无疑是枯燥、低效的。
今天特别推荐一些有创意的数据结构与算法交互式可视化平台。特别适合学生、教师以及算法开发工程师。
1.algorithm-visualizer
网站:https://algorithm-visualizer.org/
GitHub:https://github.com/algorithm-visualizer/algorithm-visualizer
这个平台都提供了一种引人入胜的方式来帮助理解各种算法。它提供的开发语言包括JavaScript、C++、Java,可展示的算法包括:回溯、分支定界、暴力破解、分而治之、动态规划、贪婪等类别。
2.visualgo
网站:https://visualgo.net/zh
这是一个由新加坡国立大学开发的可视化网站,包含了23种算法的动画,从基本的排序算法到罕见的图遍历算法。还有一个小测验功能来测试自己的学习!
3.sorting-algorithms
网站:https://www.toptal.com/developers/sorting-algorithms
这是一个排序算法可视化,提供各种排序算法的动画。这些动画显示了在4种不同的初始条件下的8种不同的排序算法。
4.旧金山大学
数据结构与算法可视化
网站:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
5.memlayout
网站:https://memlayout.com/
6.数据结构与算法可视化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是一个专门为学生设计的应用程序,可以更好地理解算法。它有助于学生轻松掌握算法的原理。这是一个包含大部分算法的软件包,提供了包含的算法有搜索、排序、寻路、图/树、N皇后、KMP和马尔可夫链等算法;包含大量的数据结构,如数组,图形,树,字符串等等。
它可以在学生的头脑中培养一种对算法的认知,理解算法的执行过程。对技术感兴趣的学生可以理解它,并且可以更好地了解在大学早期学习的课程,并且可以在其中脱颖而出。