IDEA 是由 SándorP. Fekete、Sebastian Morr 和 Sebastian Stiller 共同推出的图解算法系列。 它们最初是为 Sándor 在德国不伦瑞克工业大学开设的算法和数据结构讲座而设计的,作者希望它们能够有更广的用途,因此在网上发布了这个项目,希望能够帮助到教师、学生和有好奇心的人们。算法将会不断更新,可以访问页面了解更多信息: https://idea-instructions.com/ 。
这些图片使用 Inkscape 绘制,可以使用任意一款向量图编辑软件来编辑它们。每个算法下面都有相应的图片下载地址。
快速排序快速排序是一种“分而治之”的排序算法,通过随机选择“分区点”来避免出现最坏的情况。
。下载地址: https://idea-instructions.com/quick-sort/
Bogo 排序Bogo 排序也被称为“愚蠢的排序”,是一种非常简单但低效的排序算法,就是不断打乱元素的顺序,直到达到有序为止。
下载地址: https://idea-instructions.com/bogo-sort/
二分查找二分查找是一种快速从一个有序数组中找到某个元素位置的查找算法。这有点类似于猜数字游戏,通过不断问“目标数字是大于还是小于某个数”这样的问题,最终猜出目标数字。
下载地址: https://idea-instructions.com/binary-search/
归并排序归并排序也是一种“分而治之”的递归排序算法。
下载地址: https://idea-instructions.com/merge-sort/
平衡二叉树平衡二叉树是自平衡的二叉树变种,可以保证快速的查找、插入和删除操作。
以图中的平衡二叉树为例:
下载地址: https://idea-instructions.com/avl-tree/
图遍历图遍历算法会遍历图中所有可达的顶点,可以通过辅助数据结构来实现各种遍历,比如使用无序集合实现随机遍历,使用堆栈实现深度优先遍历,使用队列实现广度优先遍历。
下载地址: https://idea-instructions.com/graph-scan/
一笔画一笔画是一种 Fleury 算法,旨在优雅地找出图中的欧拉(Eulerian)路径。欧拉路径是图中的一条路径,刚好经过每条边,并且每条边只被访问一次。
下载地址: https://idea-instructions.com/euler-path/
原文链接: https://idea-instructions.com/