码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-04-06 15:12:16      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:

  前言

  排序算法(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 )

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

标签:

原文地址:http://www.cnblogs.com/zeakhold/p/5331885.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!