#include #include #define N 20 void LCSLength(int m,int n,char x,char y,char b); void LCS(int
//时间复杂度O(n^2),空间复杂度O(n^2) /* f是DP数组,0放长度,1作记录 主要用a去扫描b,逐步优化 */ #include<string.h>
近来编写一个对性能要求很高的程序,要用到排序功能。要排序的数据类型有很多种,有整数、浮点数、各种结构(根据某个属性进行比较)等。如果调用libc的qsort()函数,调用比较函数的开销将会很大。因此就
/* 功能说明: 给定一个非负整数数组,找出最长递增子序列. 作者: hfjiang 完成日期: 2005-3-13 */ #include<iostream>
算法成绩出来了,现在可以把论文贴上来了。 最长递增子序列问题的求解 最长递增子序列问题是一个很基本、较常见的小问题,但这个问题的求解方法却并不那么显而易见,需要较深入的思考和较好的算
给定两个序列 X = { x1 , x2 , ... , xm } Y = { y1 , y2 , ... , yn } 求X和Y的一个最长公共子序列 举例 X = { a , b , c , b ,
这是我学数据结构编写的算法,我把他整理出来,都是基本算法,供大家学习。我使用c++面向对象形式编写,各种算法都封装在各自的类里,假如想增加功能,在相应的类里增加函数即可。我对树和图的构造也做了一些人性
1 程序由五个模块组成。 (1) lzw.h 定义了一些基本的数据结构,常量,还有变量的初始化等。 #ifndef __LZW_H__ #define __LZW_H__ //----
Josephus算法:比如一群小孩围成一圈,任意假定一个数字m,从第一个小孩起,顺时针方向数,每数到第m个小孩时,该小孩便出局;随小孩不断离开圈子不断缩小,最后剩下一个小孩便是胜利者。该算法用数组
1 程序由五个模块组成。 (1) lzw.h 定义了一些基本的数据结构,常量,还有变量的初始化等。 #ifndef __LZW_H__ #define __LZW_H__ //------