排序:
默认
按更新时间
按访问量

[转]【坐在马桶上看算法】算法12:堆——神奇的优先队列(下)--作者:ahalei

接着上一Pa说。就是如何建立这个堆呢。可以从空的堆开始,然后依次往堆中插入每一个元素,直到所有数都被插入(转移到堆中为止)。因为插入第i个元素的所用的时间是O(log i),所以插入所有元素的整体时间复杂度是O(NlogN),代码如下。 1 2 3 ...

2016-08-29 17:21:08

阅读数:386

评论数:0

[转]【啊哈!算法】算法11:堆——神奇的优先队列(上)--作者:ahalei

堆是什么?是一种特殊的完全二叉树,就像下面这棵树一样。         有没有发现这棵二叉树有一个特点,就是所有父结点都比子结点要小(注意:圆圈里面的数是值,圆圈上面的数是这个结点的编号,此规定仅适用于本节)。符合这样特点的完全二叉树我们称为最小堆。反之,如果所有父结点都比子结点要大...

2016-08-29 17:19:42

阅读数:339

评论数:0

[转]【坐在马桶上看算法】算法10:二叉树--作者:ahalei

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

2016-08-29 17:18:07

阅读数:269

评论数:0

[转]【坐在马桶上看算法】算法9:开启“树”之旅--作者:ahalei

我们先来看一个例子。        这是什么?是一个图?不对,确切的说这是一棵树。这哪里像树呢?不要着急我们来变换一下。        是不是很像一棵倒挂的树,也就是说它是根朝上,而叶子朝下的。不像?哈哈,看完下面这幅图你就会觉得像啦。 ...

2016-08-29 17:17:24

阅读数:239

评论数:0

[转]【坐在马桶上看算法】算法8:巧妙的邻接表(数组实现)--作者:ahalei

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

2016-08-29 17:16:17

阅读数:254

评论数:0

[转]【坐在马桶上看算法】算法7:Dijkstra最短路算法--作者:ahalei

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

2016-08-29 17:14:30

阅读数:178

评论数:0

【坐在马桶上看算法】算法6:只有五行的Floyd最短路算法--作者:ahalei

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

2016-08-29 17:13:42

阅读数:282

评论数:0

[转]【坐在马桶上看算法】算法5:解密回文——栈---作者:ahalei

上一节中我们学习了队列,它是一种先进先出的数据结构。还有一种是后进先出的数据结构它叫做栈。栈限定只能在一端进行插入和删除操作。比如说有一个小桶,小桶的直径只能放一个小球,我们现在向小桶内依次放入2号、1号、3号小球。假如你现在需要拿出2号小球,那就必须先将3号小球拿出,再拿出1号小球,最后才能将2...

2016-08-29 17:12:06

阅读数:319

评论数:0

【坐在马桶上看算法】算法4:队列——解密QQ号--作者:ahalei

新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问QQ号,小哈当然不会直接告诉小哼啦,原因嘛你懂的。所以小哈给了小哼一串加密过的数字,同时小哈也告诉了小哼解密规则。规则是这样的:首先将第1个数删除,紧接着将第2个数放到这串数的末尾,再将第3个数删除并将第4个数再放到这串数的末尾...

2016-08-29 17:10:05

阅读数:489

评论数:0

[转]【坐在马桶上看算法】排序总结:小哼买书--作者:ahalei

之前讲了三种常用的经典排序。排序算法还有很多,例如选择排序、计数排序、基数排序、插入排序、归并排序和堆排序等等。堆排序是基于二叉树的排序,以后再说吧。先分享一个超酷的排序算法的视频。        再来看一个具体的例子《小哼买书》来看看三个排序在应用上的区别和局限...

2016-08-29 17:09:04

阅读数:267

评论数:0

[转]【坐在马桶上看算法】算法3:最常用的排序——快速排序--作者:ahalei

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

2016-08-29 17:07:21

阅读数:524

评论数:0

[转]【坐在马桶上看算法】算法2:邻居好说话:冒泡排序--作者:ahalei

简化版的桶排序不仅仅有上一节所遗留的问题,更要命的是:它非常浪费空间!例如需要排序数的范围是0~2100000000之间,那你则需要申请2100000001个变量,也就是说要写成int a[2100000001]。因为我们需要用2100000001个“桶”来存储0~2100000000之间每一个数...

2016-08-29 17:04:36

阅读数:229

评论数:0

[转]【坐在马桶看算法】算法1:最快最简单的排序——桶排序--作者:ahalei

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

2016-08-29 17:02:14

阅读数:349

评论数:0

java:树的基本方法

package demo_tree; import java.util.Stack; public class BinaryTree { private class Node{ /** * @param level 层序 * @param data 数据域 */ ...

2016-08-28 16:04:35

阅读数:2337

评论数:0

[转]C/C++求职宝典21个重点笔记(常考笔试面试点)--作者:敏敏Alexia

1. char c = '\72'; 中的\72代表一个字符,72是八进制数,代表ASCII码字符“:”。 2. 10*a++ 中a先进行乘法运算再自增(笔试中经常喜欢出这类运算符优先级容易混淆的输出问题)。 3. const和static的作用 太常见的问题了,下面给出一个较详...

2016-08-25 17:59:28

阅读数:157

评论数:0

[转]数据结构--树形结构(1)--作者:深挖三尺--抓狂

树形结构-- 一对多的关系 数据结构中,使用树形结构表示数据表素之间一对多的关系,树形结构是一种非线型结构. 定义: 树(Tree)是n(n≥0)个相同数据类型的数据元素的集合.树中的数据元素称为节点(Node).。n=0的树称为空树(Empty Tree);对于n>0的任意非空树T有: (1)有...

2016-08-25 15:02:37

阅读数:258

评论数:0

[转]几种常见的网络协议--作者:小顾问(博客园)

几种常用的网络协议 一、OSI模型 名称            层次                功能 物理层          1               实现计算机系统与网络间的物理连接 数据链路层      2               进行数据打包与解包,形成信息帧 ...

2016-08-23 14:14:51

阅读数:555

评论数:0

在线字幕刷色系统(版本1.0)记录

因为用timemachine处理字幕,没发现能分角色刷色的功能,用狸窝/格式工厂也是只能整体刷色,所以想做一个它们之间的桥梁的一个东西。 后台很快就写完了(也不算很快吧,总共也没几行,复习了文件的读写,这一块经常是让我懵逼的,还需要mark一下)。 BufferedReader b...

2016-08-23 12:35:34

阅读数:171

评论数:0

[转]Java中HashMap遍历的两种方式

原文地址: http://www.javaweb.cc/language/java/032291.shtml第一种:  Map map = new HashMap();  Iterator iter = map.entrySet().iterator();  while (iter.hasNext...

2016-08-22 13:59:00

阅读数:112

评论数:0

写一个程序,从文件(c:\test.txt)中查出字符串”mobnet”出现的次数?

package demo_io; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.util.regex.Match...

2016-08-22 10:09:41

阅读数:2461

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭