数据结构与算法
吴江2000
LTE/NR通信工程师,熟悉C语言、数据结构与算法、基站通信协议。
展开
-
归并排序
#include #include #include using namespace std;void merge(int *data, int low, int mid, int high, int *tmp){ int i = low; int j = mid + 1; int k = low; while (i <= mid&&j <= high) { if (d原创 2017-03-19 15:11:49 · 164 阅读 · 0 评论 -
最大子序列和
问题描述 输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:序列:-2 11 -4 13 -5 -2,则最大子序列和为20。#include #include #include #define Max(a,b) (a)>(b)?(a):(b)using namespace std;//最大原创 2017-03-19 15:39:23 · 272 阅读 · 0 评论 -
最长公共子序列
#include #include #include using namespace std;#define Max(a,b) (a)>(b)?(a):(b)int main(void){ string str1 = "abcdss"; string str2 = "asbda"; int len1 = str1.length(); int len2 = str2.len原创 2017-03-21 10:22:22 · 219 阅读 · 0 评论 -
动态规划和贪心算法
动态规划讲的很清楚的一篇博客:http://blog.csdn.net/baidu_28312631/article/details/47418773原创 2017-03-19 21:45:33 · 186 阅读 · 0 评论 -
最长重复子串
思路:使用后缀数组解决分析:1、由于要求最长公共子序列,则需要找到字符串的所有子串,即通过产生字符串的后缀数组实现。2、由于要求最长的重复子串,则需要对所有子串进行排序,这样可以把相同的字符串排在一起。3、比较相邻字符串,找出两个子串中,相同的字符的个数。注意,对于一个子串,一个与其重复最多的字符串肯定是紧挨着自己的两个字符串。步骤:原创 2017-04-14 21:04:38 · 1274 阅读 · 0 评论 -
最长回文子串
#include #include #include #include using namespace std;//最长回文子串//有字母s,用c[i,j]=1表示子串s[i,j]为回文子串,那么有递推式// c[i,j]=c[i+1,j-1] if(s[i]==s[j])// c[i,j]=0 if(s[i]原创 2017-04-19 20:50:11 · 247 阅读 · 0 评论 -
最长公共字符串
#include #include #include #include //#include "Customer.h"using namespace std;//最长公共字符串——动态规划//假设需要求得字符串为str1,str2。函数f(m,n)分别为 str1[m],str2[n]//结尾的公共字符串长度。//有以下递推公式:原创 2017-04-16 22:18:01 · 347 阅读 · 0 评论