原文:【坐在马桶上看算法】小哼买书

之前讲了三种常用的经典排序。排序算法还有很多,例如选择排序 计数排序 基数排序 插入排序 归并排序和堆排序等等。堆排序是基于二叉树的排序,以后再说吧。先分享一个超酷的排序算法的视频。 再来看一个具体的例子 小哼买书 来看看三个排序在应用上的区别和局限性。 小哼的学校要建立一个图书角,老师派小哼去找一些同学做调查,看看同学们都喜欢读哪些书。小哼让每个同学写出一个自己最想读的书的ISBN号 你知道吗 ...

2014-03-03 09:57 5 3951 推荐指数:

查看详情

坐在马桶上看算法算法5:解密回文——栈

上一节中我们学习了队列,它是一种先进先出的数据结构。还有一种是后进先出的数据结构它叫做栈。栈限定只能在一端进行插入和删除操作。比如说有一个小桶,小桶的直径只能放一个小球,我们现在向 ...

Mon Mar 17 18:42:00 CST 2014 10 2826
坐在马桶上看算法算法6:只有五行的Floyd最短路算法

暑假,哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有,如下图。为了节省经费以及方便计划旅程,哼希望在出发之前知道任意两个城市之前的最短路程。 上图中有4个城市8条公路,公路上的数字表示这条公路的长短。请注意 ...

Tue Mar 25 16:24:00 CST 2014 8 4096
坐在马桶上看算法算法7:Dijkstra最短路算法

上周我们介绍了神奇的只有五行的Floyd最短路算法,它可以方便的求得任意两点的最短路径,这称为“多源最短路”。本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”。例如求下图中的1号顶点到2、3、4、5、6号顶点的最短路径 ...

Mon Mar 31 17:37:00 CST 2014 4 4323
坐在马桶上看算法算法8:巧妙的邻接表(数组实现)

之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是N2,现在我来介绍另外一种存储图的方法:邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据,如下 ...

Tue Apr 08 18:00:00 CST 2014 7 3279
坐在马桶上看算法算法1:最快最简单的排序——桶排序

【啊哈!算法】   在我们生活的这个世界中到处都是被排序过的。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东西都需要排序,可以说排序是无处不在。现在我们举个具体的例子来介绍一下排序算法 ...

Sun Feb 23 22:38:00 CST 2014 26 10898
坐在马桶上看算法算法3:最常用的排序——快速排序

【啊哈!算法】系列 上一节的冒泡排序可以说是我们学习第一个真正的排序算法,并且解决了桶排序浪费空间的问题,但在算法的执行效率上却牺牲了很多,它的时间复杂度达到了O(N2)。假如我们的计算机每秒钟可以运行10亿次,那么对1亿个数进行排序,桶排序则只需要0.1秒 ...

Wed Feb 26 18:04:00 CST 2014 26 9148
坐在马桶上看算法算法10:二叉树

二叉树是一种特殊的树。二叉树的特点是每个结点最多有两个儿子,左边的叫做左儿子,右边的叫做右儿子,或者说每个结点最多有两棵子树。更加严格的递归定义是:二叉树要么为空,要么由根结点、左子树和右子树组成 ...

Tue May 20 19:19:00 CST 2014 6 2951
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM