- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 最常用的排序——快速排序
上一节的冒泡排序可以说是我们学习第一个真正的排序算法,并且解决了桶排序浪费空间的问题,但在算法的执行效率上却牺牲了很多,它的时间复杂度达到了O(N2)。假如我们的计算机每秒钟可以运行10亿次,那么对1亿个数进行排序,桶排序则只需要0.1秒,而冒泡排序则需要1千万秒,达到115天之久,是不是很吓人。那有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。
2016-08-08 20:52:56 1006 1
转载 邻居好说话:冒泡排序
简化版的桶排序不仅仅有上一节所遗留的问题,更要命的是:它非常浪费空间!例如需要排序数的范围是0~2100000000之间,那你则需要申请2100000001个变量,也就是说要写成int a[2100000001]。因为我们需要用2100000001个“桶”来存储0~2100000000之间每一个数出现的次数。即便只给你5个数进行排序(例如这5个数是1,1912345678,2100000000,1
2016-08-07 11:29:45 279
转载 最快最简单的排序——桶排序
在我们生活的这个世界中到处都是被排序过的。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东西都需要排序,可以说排序是无处不在。现在我们举个具体的例子来介绍一下排序算法。 首先出场的我们的主人公小哼,上面这个可爱的娃就是啦。期末考试完了老师要将同学们的分数按照从高到低排序。小哼的班
2016-08-07 11:26:39 318
原创 Dijkstra最短路算法
Dijkstra最短路算法上周我们介绍了神奇的只有五行的Floyd最短路算法,它可以方便的求得任意两点的最短路径,这称为“多源最短路”。本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”。例如求下图中的1号顶点到2、3、4、5、6号顶点的最短路径。 与Floyd-Warshall算法一样这里仍然使用二维
2016-07-26 11:39:39 396
原创 只有5行的Floyd算法!!!
只有5行的Floyd算法!!! 上图中有4个城市8条公路,公路上的数字表示这条公路的长短。请注意这些公路是单向的。我们现在需要求任意两个城市之间的最短路程,也就是求任意两个点之间的最短路径。这个问题这也被称为“多源最短路径”问题。 现在需要一个数据结构来存储图的信息,我们仍然可以用一个4*4的矩阵(二维数组
2016-07-22 16:03:58 409
原创 DFS基础(1)
Oil Deposits题目大意深度优先搜索的经典题,也是最基础的一道题。油田问题,八个方向深度搜索,计算油田区域数量?解题思路遍历矩阵每个点,对其进行DFS并标记节点。记录DFS次数。More info: 杭电1241#include #include #include using namespace std;#define M 1
2016-02-28 15:46:29 252
原创 2014ACM/ICPC亚洲区广州站 Little Zu Chongzhi's Triangles
Little Zu Chongzhi's TrianglesTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others)Total Submission(s): 167 Accepted Submission(s): 90Problem Description
2014-12-05 20:10:16 290
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人