- 博客(3)
- 收藏
- 关注
原创 动态规划
如果一个问题由交叠的子问题所构成,可以采用动态规划的方法进行求解。交叠的子问题可以理解为要想求解当前问题必须知道前一问题的解,也就是问题之间不是相互独立的。动态规划一般分为以下几步进行:1.找出最优解性质,刻画其结构特征;2.递归定义最优解,写出动态规划方程;3.以自底向上的方式计算出最优解;4.根据计算得到的信息,构造最优解。下面有一个LCS(最长公共子序列)的例子。
2014-01-03 16:18:50 672
原创 归并排序
废话不说,直接上代码。 递归版本:#includetemplatevoid swap(T *tmp1,T *tmp2);templatevoid merge(T *tmp,int left,int right){ int i=left,mid=(left+right)/2,k=0; int j = mid+1; T *s; s = (T *)malloc((right-
2014-01-03 09:47:57 498
原创 快速排序
快速排序的思想在于将每个数归位于自己应该在的位置。递归版本:#includevoid swapp(int &tmp1,int &tmp2);int partition(int *tmp,int left,int right) ;void quicksort(int *tmp,int left,int right){ if(left<right){ int pos = parti
2014-01-02 10:09:49 545
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人