昨天我突发奇想,写了几段Mathematica代码,生成了各种排序算法的内存变化图。图中每一个新的横行都表示数组的一次更新,数字大小用颜色来表示。你可以直观地看到这些算法是如何把乱序数组一点一点变为有序的。效果还是很令人满意的,不少算法的内存轨迹都相当美观,相当有艺术性。
图很大,我就不在首页上显示了,大家点“查看更多”看图吧。
昨天我突发奇想,写了几段Mathematica代码,生成了各种排序算法的内存变化图。图中每一个新的横行都表示数组的一次更新,数字大小用颜色来表示。你可以直观地看到这些算法是如何把乱序数组一点一点变为有序的。效果还是很令人满意的,不少算法的内存轨迹都相当美观,相当有艺术性。
图很大,我就不在首页上显示了,大家点“查看更多”看图吧。
我的sf…
这样也可以看出来算法的效率吧~
Gut!
bubble sort还有种分形的感觉。。
还是bogo最可爱。
bogosort….
– -!
额。。什么软件哦?
还有黑和白分别代表?
晕,那么少的数,bogosort还要那么多次
要是再大一点,我都不知道bogosort能不能在我这辈子让我看到排序结果
这个类似: http://cocre.com/?p=536
酷啊,我以前用Java做过一个排序算法的动态演示,不过演示没这个直观啊,哈哈
又学到一种排序。。
bogosort (also random sort, shotgun sort or monkey sort)
bubble那个好有feel~~
估计这个东西是不能体现算法效率的了….选择排序的内存操作那么短,估计是用了链表实现的,对内存的操作很少。
bogo的时间也太长了。。。
投递到 reddit 了
http://www.reddit.com/r/programming/comments/8dv27/memory_visualization_of_sorting_algorithms/
bogo的效率是不是就等于穷举了……
膜拜bogo…….
没人觉得stooge才最分形的感觉吗?
qsort是random qsort吗?
这段mathematica代码怎么写的?…
选排的一下就看懂了
Bogo很费解
bogo……刚才google查了一下,貌似是基于随机穷举的?
于是明白其时间复杂度了……
修正一下上面的留言,其实图的长度并不能代表时间复杂度,因为每一次数组更新所用的时间没有在其中表示……
不过即使这样还是能看出来bogo还是相当的糟糕。膜拜之……
让人联想到细胞自动机和Wolfram 的A New Kind of Science。。。
下面这个网站还可以动态显示排序变化
http://www.sorting-algorithms.com/
bogosort,哈哈
heap呢?
最强大的heap呢?
还有红黑树或avl插入+遍历的排序呢?
好啊
0.-
经典啊。
連stooge也有- -囧..
真漂亮
bogo好有爱。。
求代码~~~求学习~~~~
求解释。。。