摘要: 动态规划 //求解最长公共子序列问题 #include<stdio.h> #include<string.h> #define N 30 int lcslength(char *a,char *b,int c[][N]){ //求c[m][n] 即最长公共子序列的长度 int m = strlen( 阅读全文
posted @ 2020-01-05 16:30 Hqx_curiosity 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 二路归并排序 //二路归并排序 //分治法 //自底向上的二路归并排序算法 #include<stdio.h> #include<malloc.h> void disp(int a[],int n){ int i; for(i=0;i<n;i++) printf("%d ",a[i]); print 阅读全文
posted @ 2020-01-05 11:01 Hqx_curiosity 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 递归 1 //求解N皇后问题 2 //递归法 3 #include<stdio.h> 4 #include<stdlib.h> 5 const int N = 20; 6 int q[N]; 7 void disp(int n){ 8 static int count = 0; 9 int i; 1 阅读全文
posted @ 2020-01-04 22:05 Hqx_curiosity 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 快速排序算法的性能取决于 划分的对称性。 快速排序 -- 选择划分基准 <1>随机选择一个元素作为划分基准。 <2>取子序列的第一个元素。 <3>用中位数的中位数方法寻找划分基准。 分治法 分治策略: <1>分解:将原序列 a[s...t] 分解成两个子序列 a[s...i-1] 和 a[i+1.. 阅读全文
posted @ 2020-01-04 17:46 Hqx_curiosity 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 穷举法 问题描述: 问题求解:对于n个物品,容量为W的背包问题。 <1>先采用求幂集的方法求出所有的物品组合。 <2>对于每一种组合,计算组合中物品的总重量sumw,总价值sumv。 <3>对于每一种组合,如果sumw <= W ,说明该组合是一种解。比较所有解,将最佳方案保存在 maxsumw 和 阅读全文
posted @ 2020-01-04 09:14 Hqx_curiosity 阅读(321) 评论(0) 推荐(0) 编辑
摘要: //穷举法 #include<stdio.h> #define Maxn 10 #define MaxSize 1000 typedef struct{ struct{ int a[Maxn]; int m; }data[MaxSize]; int top; }StackType; void ins 阅读全文
posted @ 2020-01-03 22:44 Hqx_curiosity 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 方法一 //求解最大连续子序列和问题 #include<stdio.h> long maxSubSum(int a[],int n){ int i,j,k; long maxSum=a[0],thisSum; for(i=0;i<n;i++){ for(j=i;j<n;j++){ thisSum=0 阅读全文
posted @ 2020-01-03 21:38 Hqx_curiosity 阅读(302) 评论(0) 推荐(0) 编辑
摘要: //有多少不同的值 #include<stdio.h> int main(){ int N,flag,n,num = 0; scanf("%d",&N); int a[N]; for(n = 1;n<=N;n++){ flag = 1; a[0] = -1; a[n] = n/2+n/3+n/5; 阅读全文
posted @ 2019-12-16 19:11 Hqx_curiosity 阅读(121) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h> int main(){ int C1,C2,hh,mm,ss,time; scanf("%d %d",&C1,&C2); time = (C2 - C1 + 50)/100; //加50 hh = time/3600; time = time%3600; ss = 阅读全文
posted @ 2019-12-12 08:41 Hqx_curiosity 阅读(161) 评论(0) 推荐(0) 编辑
摘要: //上机实验5 -- 求解删数问题 //贪心算法 #include<stdio.h> #define MAXN 20 void delek(int a[],int k){ } void longTostr(double d,char a[]){ int i,n = 0 ; char temp; wh 阅读全文
posted @ 2019-12-11 12:36 Hqx_curiosity 阅读(267) 评论(0) 推荐(0) 编辑