![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 92
不可数的爱
许我一段时光,伴你一场春暖花开
展开
-
最快最简单的排序——桶排序
转载自啊哈:最快最简单的排序——桶排序 在我们生活的这个世界中到处都是被排序过的。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东西都需要排序,可以说排序是无处不在。现在我们举个具体的例子来介绍一下排序算法。 首先出场的我们的主人公小哼,上面这个可爱的娃就是啦。期末考转载 2014-03-28 18:54:59 · 1152 阅读 · 0 评论 -
C++图形边缘检测与区域提取
边缘检索与区域提取是我们的课程设计的一个课题。看到这个课题感到十分新颖,因为以前从未接触过这方面的知识。而且由于课程作业要求的语言是c++,所以选择了 c++ 的一个界面类函数库easyX 下载可见官网 http://www.easyx.cn/ 我们将这个课题分为两部分,一是边缘检测,一是区域提取。 关于边缘检测:图像的边缘形成的原因是图像的灰度在某一区域的突然变化使得人眼才转载 2014-04-09 08:40:13 · 6796 阅读 · 8 评论 -
堆和栈的区别
堆和栈的区别 一直就搞不清出这个问题,今天上网想起来,随即搜了搜,找到了一些资料。不知源作者是谁。姑且“拿来主义”一下。 一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)转载 2014-04-09 08:36:30 · 1160 阅读 · 0 评论 -
解密回文——栈
上一节中我们学习了队列,它是一种先进先出的数据结构。还有一种是后进先出的数据结构它叫做栈。栈限定只能在一端进行插入和删除操作。比如说有一个小桶,小桶的直径只能放一个小球,我们现在向小桶内依次放入2号、1号、3号小球。假如你现在需要拿出2号小球,那就必须先将3号小球拿出,再拿出1号小球,最后才能将2号小球拿出来。在刚才取小球的过程中,我们最先放进去的小球最后才能拿出来,而最后放进去的小球却可以最先拿转载 2014-03-27 10:14:17 · 1005 阅读 · 0 评论 -
坐在马桶上看算法:只有五行的Floyd最短路算法
此算法由Robert W. Floyd(罗伯特·弗洛伊德)于1962年发表在“Communications of the ACM”上。同年Stephen Warshall(史蒂芬·沃舍尔)也独立发表了这个算法。Robert W.Floyd这个牛人是朵奇葩,他原本在芝加哥大学读的文学,但是因为当时美国经济不太景气,找工作比较困难,无奈之下到西屋电气公司当了一名计算机操作员,在IBM650机房值夜班,转载 2014-03-26 11:39:49 · 742 阅读 · 0 评论 -
Dijkstra最短路算法
装载自啊哈:上周我们介绍了神奇的只有五行的Floyd最短路算法,它可以方便的求得任意两点的最短路径,这称为“多源最短路”。本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”。例如求下图中的1号顶点到2、3、4、5、6号顶点的最短路径。 与Floyd-Warshall算法一样这里仍然使用二维数组e来存储顶点之间边的关系,初始值如转载 2014-04-02 21:37:53 · 781 阅读 · 0 评论 -
最常用的排序——快速排序
转载自啊哈:最常用的排序——快速排序: 上一节的冒泡排序可以说是我们学习第一个真正的排序算法,并且解决了桶排序浪费空间的问题,但在算法的执行效率上却牺牲了很多,它的时间复杂度达到了O(N2)。假如我们的计算机每秒钟可以运行10亿次,那么对1亿个数进行排序,桶排序则只需要0.1秒,而冒泡排序则需要1千万秒,达到115天之久,是不是很吓人。那有没有既不浪费空间又可以快一点的排序算法转载 2014-03-28 19:03:31 · 1103 阅读 · 0 评论 -
解密QQ号——队列
新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问QQ号,小哈当然不会直接告诉小哼啦,原因嘛你懂的。所以小哈给了小哼一串加密过的数字,同时小哈也告诉了小哼解密规则。规则是这样的:首先将第1个数删除,紧接着将第2个数放到这串数的末尾,再将第3个数删除并将第4个数再放到这串数的末尾,再将第5个数删除……直到剩下最后一个数,将最后一个数也删除。按照刚才删除的顺序,把这些删除的数连在一转载 2014-03-28 18:50:47 · 1025 阅读 · 0 评论 -
以小哼买书为例再谈算法
转载自啊哈: 之前讲了三种常用的经典排序。排序算法还有很多,例如选择排序、计数排序、基数排序、插入排序、归并排序和堆排序等等。堆排序是基于二叉树的排序,以后再说吧。先分享一个超酷的排序算法的视频。[tianchai_youku]XNjc3ODE5NjI4[/tianchai_youku] 点击打开链接再来看一个具体的例子《小转载 2014-03-28 19:07:52 · 1217 阅读 · 0 评论 -
邻居好说话——冒泡排序
转载自啊哈:算法2:邻居好说话——冒泡排序 简化版的桶排序不仅仅有上一节所遗留的问题,更要命的是:它非常浪费空间!例如需要排序数的范围是0~2100000000之间,那你则需要申请2100000001个变量,也就是说要写成int a[2100000001]。因为我们需要用2100000001个“桶”来存储0~2100000000之间每一个数出现的次数。即便只给你5个数进行排序转载 2014-03-28 18:56:38 · 1091 阅读 · 0 评论 -
图还可以这样存——邻接表的数组实现
之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是N2,现在我来介绍另外一种存储图的方法:邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据,如下。4 51 4 94 3 81 2 52 4 61 3 7复制代码 第一行两个整数n m。n表示顶转载 2014-04-08 21:15:05 · 5551 阅读 · 3 评论