![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 75
菜鸟丶1024
疯狂打码中ing
展开
-
《算法导论》最大子数组和
1.暴力枚举 #include #define N 100 using namespace std; int main() { int array[N]; int i, j, n, sum; int start, end, maxSum=-99999; cin>>n; for(i = 0; i < n; i++) cin>>array[i]; for(i = 0; i < n;原创 2017-11-30 13:13:23 · 242 阅读 · 0 评论 -
《算法导论》排序算法
1.堆排序 #include #define N 100 using namespace std; int parent(int i) { return i / 2; } int left(int i) { return 2 * i; } int right(int i) { return 2 * i + 1; } void maxHeapify(int array[], int i,原创 2017-12-12 13:03:52 · 175 阅读 · 0 评论 -
《算法导论》动态规划钢条切割问题
1.自顶向下的递归实现 #include #define N 33 using namespace std; int s[N + 1]; int p[N + 1] = {0, 1, 5, 8, 9, 10, 17, 17, 20, 24, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47原创 2017-12-12 15:09:22 · 212 阅读 · 0 评论 -
《算法导论》矩阵链乘法问题
1.自底向上法 #include #define N 100 #define MAXVALUE 1000000000 using namespace std; int m[N][N], s[N][N]; void matrixChainOrder(int *p, int n) { int i, j, l, k, temp; for(i = 1; i < n; i++) m[i][i]原创 2017-12-13 21:34:26 · 444 阅读 · 0 评论 -
《算法导论》最长子序列问题
1.借助b[][]数组实现 #include #include #define N 100 using namespace std; int c[N + 1][N + 1]; int b[N + 1][N + 1]; void lcsLength(char *x, char *y, int xLength, int yLength) { int i, j; for(i = 1; i <原创 2017-12-15 20:32:48 · 228 阅读 · 0 评论 -
《算法导论》优先队列
1.最大优先队列 #include #define N 100 using namespace std; int parent(int i) { return i / 2; } int left(int i) { return 2 * i; } int right(int i) { return 2 * i + 1; } void maxHeapify(int *p, int i, in原创 2017-12-17 13:25:32 · 289 阅读 · 0 评论 -
0-1背包问题
1.动态规划 #include #define N 20 using namespace std; int main() { freopen("0-1.in", "r", stdin); int i, j, n, c; int v[N], w[N], m[N][N] = {0}; cin>>n>>c; for(i = 0; i < n; i++) cin>>v[i]; for(原创 2018-01-06 15:09:23 · 169 阅读 · 0 评论