各种排序算法的可视化展现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各种排序算法的可视化展现相关的知识,希望对你有一定的参考价值。

  前言

  排序算法(Sorting algorithm)是一种能将一串数据依照特定排序方式的最基本最常用的算法,常见的有冒泡排序、快速排序、插入排序、二叉树排序等等,下面这个表格总结了各种排序算法的复杂度与稳定性:

技术分享

  不同的场景对排序算法的选择有着不同的要求,对每种排序算法的深入理解能帮助我们更好地选择合适的算法。关于排序算法的理论书籍或博客已经非常的多,下面列举一些可视化的排序展示,换种方式看算法,以一种更直观的方式理解排序算法的工作原理。

  一、SORTING

技术分享

  SORTING 支持同时查看对比多个排序算法,在进行排序时,每一个步奏都会被记录,故可以进行前进、后退、暂停等操作,非常适合理解不同排序算法的区别。

  该项目的作者是Carlo Zapponi,他在sorting.at这样描述该项目的起源:“SORTING was born to create visual representations of sorting algorithms with the hope of finding visual patterns. ”

  二、The Sound of Sorting

  如果上面单单图像动画还不够过瘾,那么可以看看这个带声音的排序展示:15种排序算法可视化展示(优酷链接,源视频见YouTube)。

  视频中的演示程序及其源码都可以可以在其项目主页中找到,作者给出了详细的说明,下图为演示程序界面。

技术分享

  三、还有排序的舞蹈视频

  罗马尼亚Sapientia大学制作了一系列用舞蹈形式表现的各种排序算法的工作原理,舞跳得很有名族风情嘿嘿:

技术分享

  总共是六种排序算法六个视频,希尔排序、选择排序等等,详情请戳:让程序员抓狂的排序算法教学视频

  四、Visualizing Algorithms

  最后一个是国外大牛对算法的酷炫的描述,2014年6月他发表了一篇长长的文章,从梵高的名画到迷宫的生成,尽述算法的可视化。

技术分享

  原文见:Visualizing Algorithms

  译文见:算法可视化

 

  (本文地址:http://www.cnblogs.com/zeakhold/p/5331885.html )

以上是关于各种排序算法的可视化展现的主要内容,如果未能解决你的问题,请参考以下文章

面试必备排序算法 --快速排序

动画展现十大经典排序算法(附代码)

“基数排序”展现Python的优雅与简洁

21任务十九——可视化数据排序

基础JavaScript练习总结

冒泡排序算法可视化