堆是什么?是一种特殊的完全二叉树,就像下面这棵树一样。
有没有发现这棵二叉树有一个特点,就是所有父结点都比子结点要小(注意:圆圈里面的数是值,圆圈上面的数是这个结点的编号,此规定仅适用于本节)。符合这样特点的完全二叉树我们称为最小堆。反之,如果所有父结点都比子结点要大,这样的完全二...
分类:
其他好文 时间:
2014-06-16 10:41:34
阅读次数:
335
题目:有40个培养皿,每个培养皿中有一个数字(0-9)。最开始时20号中数字为1,其余为0。
每组输入有一个DNA programs(10个数字构成的序列),它决定每个培养皿下个时间的数字。
设培养皿i中的数字为F(i),则下次其中的数字为DNA(F(i-1)+F(i)+F(i+1))
{即,编号为F(i-1)+F(i)...
分类:
其他好文 时间:
2014-06-15 19:21:09
阅读次数:
249
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。以下是使用循环链表和数组的两种实现:
分类:
其他好文 时间:
2014-06-12 21:18:46
阅读次数:
251
1 /* 2 Dijkstra算法用优先队列来实现,实现了每一条边最多遍历一次。
要知道,我们从队列头部找到的都是到 3 已经"建好树"的最短距离以及该节点编号, 并由该节点去更新 树根 到其他点(被更新的节点可以在队列中 4
,也可以是非队列中的节点)的距离 。 5 6 ////队列中的节点都.....
分类:
其他好文 时间:
2014-06-12 19:37:39
阅读次数:
303
当SQLite数据库中包含自增列时,会自动建立一个名为 sqlite_sequence
的表。这个表包含两个列:name和seq。name记录自增列所在的表,seq记录当前序号(下一条记录的编号就是当前序号加1)。如果想把某个自增列的序号归零,只需要修改
sqlite_sequence表就可以了。U...
分类:
数据库 时间:
2014-06-12 13:08:03
阅读次数:
210
算法思想:如果存在最小环,会在编号最大的点u更新最短路径前找到这个环,发现的方法是,更新最短路径前,遍历i,j点对,一定会发现某对i到j的最短路径长度dis[i][j]+mp[j][u]+mp[u][i]
!= INF,这时i,j是图中挨着u的两个点,因为在之前最短路更新过程中,u没有参与更新,所以...
分类:
其他好文 时间:
2014-06-12 06:52:57
阅读次数:
505