![](https://img-blog.csdnimg.cn/20200225125017506.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法设计分析与数据结构
关于算法与数据结构
mqa
qa
展开
-
动态规划(3): 0-1背包问题
1. 问题描述 输入: n组输入<vi, wi>(vi, wi > 0)(value 价值, weight 重量), 最大重量 C; 输出: 一组代表选择的序列<x1, x2, …, xn>, 其中 xi ∈ {0, 1}, 即代表选择 / 不选择,使得下面两个条件成立:Σi=1nwixi≤C\Sigma_{i = 1}^{n} w_ix_i ≤ CΣi=1nwi...原创 2020-03-19 21:33:22 · 139 阅读 · 0 评论 -
动态规划(2): 最长公共子序列(LCS)问题
0.前置定义 0.1 子序列 一个给定序列的子序列,就是将给定序列中零个或多个元素去掉之后得到的结果. 例: X = <A, B, C, B, D, B> Z = (B, C, D, B) 是X的子序列 W = (B, D, A) 不是X的子序列 0.2 公共子序列 给定两个序列X和Y, 如果Z既是X的子序列,又是Y的子序列,称它是X和Y的公共子序列. 0.3 前缀,第i前缀 给定一个...原创 2020-03-19 19:16:15 · 500 阅读 · 0 评论 -
排序
排序 输⼊: 待排序的数组a[], 元素个数n 输出: 已排序的数组a[] 1. 插入排序 n-1趟排序 0<i<n 第i趟排序处理a[i], 前i个元素有序, 将a[i]插⼊合适的位置 void insertsort(int n) { int i, j; int t; for (i = 1; i < n; ++i) { t = a[i]; for (j = i; ...原创 2020-02-25 12:48:51 · 83 阅读 · 0 评论