上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页

2011年5月7日

摘要: 上式是网络的平均路径长度,其中包括了节点到自身的路径(这个路径始终为0)。如果不算到自身的情况,则分母下应该是N(N-1)/2。这个N(N+1)/2也很好解释。用循环的形式表示如下:for(i=1;i<=N;i++) { for(j>=i;j<=N;j++{ }}内层循环的执行次数为N+N-1+N-2+...+1 = N(N+1)/2。刚才脑袋短路了,特小记一下。 阅读全文
posted @ 2011-05-07 23:33 Joshua Leung 阅读(13476) 评论(0) 推荐(0) 编辑
摘要: 摘自某公司的笔试题目,挺有意思的。不过不大实用,效率问题。int whatido(char * str){ return *str ? whatido(++str)+1 : 0;} 阅读全文
posted @ 2011-05-07 23:18 Joshua Leung 阅读(416) 评论(0) 推荐(0) 编辑

2011年5月5日

摘要: 这两个库都是由同一个新加坡人写的,其中BasicExcel推出时间较晚,也是为了改善CSpreadSheet的诸多缺点而推出的一个跨平台版本(原生Excel支持,作者说对参考的是OpenOffice的Excel格式文档)。CSpreadSheet对中文支持很好,所以根本就没有WString,AString等转换问题。但是它有几足以让人放弃使用它的缺点:速度慢。写入数据都是字符串格式。为了防止自动类... 阅读全文
posted @ 2011-05-05 16:01 Joshua Leung 阅读(3388) 评论(0) 推荐(1) 编辑

2011年4月27日

摘要: 堆排序是一个非常有名的nlogn排序算法,而且是在位的(不需要额外的存储空间)。以前就在数据结构课程中学习过,并没有深入了解它。很汗颜今天我才第一次去实现这种算法,也这才感受到它的高效与优雅。贴出了完整代码,各位看官如果发现什么BUG或者有什么建议,欢迎提出。 1 #include <stdio.h> 2 3 #define HEAP_SIZE 10 4 5 void heap_bottom_up(int H[], int n); 6 bool delete_heap_root(int H[], int &n); 7 void print_heap(int H[], int 阅读全文
posted @ 2011-04-27 15:29 Joshua Leung 阅读(573) 评论(0) 推荐(0) 编辑

2011年4月26日

摘要: 1#include<stdio.h>23#defineLEFT-14#defineRIGHT156intget_max_moveable_index(intarray_direction[],intarray_permutation[],intnum_of_ints);7voidjohnson_trotter(intn);8voidswap_array(intarray[],inti,intj);9voidprint_permutation(intvalue_table[],intdirection_table[],intnumber_of_ints);10intmain(){11 阅读全文
posted @ 2011-04-26 11:31 Joshua Leung 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 一个有向图的DFS森林可能具有的全部类型的边:树向边、回边、从顶点到树中非子女子孙的前向边、交叉边。所有不属于前三种类型的边都属于交叉边。一条回边的存在意味着有向图具有一个有向的回路。如果一个有向图的DFS森林没有回边,该有向图是一个无环有向图,即有向无环图的简称。拓扑排序:按某种次序列出有向图中的顶点,使得对于图中每一条边来说,边的起始顶点总是排在边的结束顶点之前。这个问题称为拜年排序。拓扑排序的两个算法:1,DFS。执行一次DFS遍历,并记住顶点变成死端(即退出遍历栈)的顺序。将该顺序反过来就得到了拓扑排序的一个解。当然,在遍历的时候不能遇到回边。如果遇到一条回边,该图就不是无环有向图,并 阅读全文
posted @ 2011-04-26 08:53 Joshua Leung 阅读(4854) 评论(4) 推荐(0) 编辑

2011年4月25日

摘要: 对n个预排序点的运行时间,有以下递推式:T(n) = 2T(n/2) + M(n)应用针对O的主定理(其中 a=2, b=2, d=1),我们得到T(n) 的时间复杂度为O(n logn)。 阅读全文
posted @ 2011-04-25 16:59 Joshua Leung 阅读(241) 评论(0) 推荐(0) 编辑

2011年4月21日

摘要: 1,决定用哪个(哪些)参数作为输入规模的度量。2,找出算法的基本操作(作为一个规律,它总是位于算法的最内层循环中)。3,检查基本操作的执行次数是否只依赖输入规模。如果它还依赖一些其他的特性,则最差效率、平均效率以及最优效率(如有必要)需要分别研究。4,建立一个算法基本操作执行次数的求和表达式。5,利用求和运算的标准公式和法则来建立一个操作次数的闭合公式,或者至少确定它的增长次数。摘自:《算法分析与... 阅读全文
posted @ 2011-04-21 10:14 Joshua Leung 阅读(518) 评论(0) 推荐(0) 编辑

2011年4月20日

摘要: 二叉查找树:分配给每个父母顶点的数字都比它左子树的数字大,比右子树中的数字小。二叉查找树能够推广为一种更一般的查找树,称为多路查找树,这种结构对于磁盘上超大型文件的高效存储是必不可少的。 阅读全文
posted @ 2011-04-20 16:57 Joshua Leung 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 稳定性:如果一个排序算法保留了等值元素在输入中的相对顺序,它被称为是稳定的。稳定性有何意义呢?假设我们有一个按照字母排序的学生列表,现在我们打算以学生个人的平均成绩来排序:一个稳定算法输出的列表将会把同样成绩的学生仍然按照字母顺序排列。一般来说,将分开很远的键相互交换的算法是不稳定的,但往往速度很快。在位:第二个值得注意的特性是算法需要的额外存储空间。如果一个算法除了个别存储单元以外,不需要额外的... 阅读全文
posted @ 2011-04-20 15:30 Joshua Leung 阅读(221) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页

导航