#include
#include
using namespace std;
const int max_length=10;
void print(int b[max_length][max_length],string X,int i,int j);
void LCS(string X,string Y,int b[max_length][max_length],int m,int n )
{...
分类:
编程语言 时间:
2015-05-08 16:36:08
阅读次数:
126
所谓算法,就是定义良好的计算过程,它取一个或一组值作为输入,并产生出一个或一组值作为输出。亦即,算法是一系列的计算过程,将输入值转换成输出值。一些常见的算法运行时间量级比较:对数级<多项式级<指数级<阶乘级1 lgn < n1/2 < n < nlgn < n2 < n3 < 2n < n!
分类:
编程语言 时间:
2015-05-07 23:38:15
阅读次数:
192
在ACM之家看到一道有趣的算法题,好多类似华为,Google等IT巨鳄,都以此为模板来考察实习生。 (1)华为的考题形式是:通过键盘输入一串小写字母(a~z)组成的字符串,编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。如,输入字符串“abacacde”,则输出...
分类:
编程语言 时间:
2015-05-07 20:21:28
阅读次数:
212
堆排序的原理: 构建并且维持一个最大堆,然后交换堆的第一个和最后一个元素,每次交换后最大的元素都被移到最后。然后堆的规模减一,继续交换,直到进行到第二个元素。这时排序完成 图解:(图片来源于http://blog.163.com/zhoumhan_0351/blog/static/399542272...
分类:
编程语言 时间:
2015-05-06 21:01:30
阅读次数:
241
本来是要写leetcode上的merge k sorted lists那道题目,这个题目我还是很熟悉的,毕竟是看过算法导论的人,但是写的过程中对堆的维护代码还是挺多的,所以我想到了STL中的堆。下面就来学习一下这个STL。先介绍一个非常好的学习C++的网站http://www.cplusplus.c...
分类:
其他好文 时间:
2015-05-06 17:20:48
阅读次数:
92
杂谈: 严蔚敏版《数据结构(C语言版)》 一书 终于看完了。这是 一个完结,也是 一个新的开端。《算法导论》 已到手。
置换选择排序的思想 是 将 归并段 尽量 变的 更大,而不是根据 内存 大小 限制在 固定的 大小。 这样 可以 利用赫夫曼树 来 进行 最优归并树,从而 使 外存 读写次数 最少。
下面给出 具体 代码:欢迎指出代码不足。
// Replace_Selcetion.cpp...
分类:
编程语言 时间:
2015-05-06 11:10:18
阅读次数:
160
算法导论上说分治法解决一个数的n次方,它的复杂度为logn;而用连乘的复度n;#includeusing namespace std;int recursion(int x,int n){ if(n==1){ return x; }else { if(n%2==0){//n为偶数 int r...
分类:
其他好文 时间:
2015-05-05 14:18:06
阅读次数:
94
作为一名前线的码农不时地看一下算法和数据结构还是很有必要的,虽然《算法导论》这本书很难啃,但还是有必要啃一下的。算法这东西和某种编程语言关系不大,在大学的课堂上书上一般是用伪代码来描述算法的,而用C语言去实现。算法更多的是一种思想,一种解决问题的方法,多看看算法还是很有必要的,它可以开阔的你的思.....
分类:
编程语言 时间:
2015-05-05 12:10:27
阅读次数:
252
参考《算法导论第二版P222页)一,如何把现实的问题转变成数学问题?即数学建模的思路?1,问题描述:现有一组相互竞争的活动,如何调度能够找出一组最大的活动(活动数目最多)使得它们相互兼容?2,问题转化:首先,按活动的结束时间单调递增进行排序。那么,为什么要按结束时间排序呢?这个问题留到后面解释。其次...
分类:
编程语言 时间:
2015-05-04 23:33:04
阅读次数:
164