算法导论
进程击序的媛
身体和灵魂,健身与学习,都在路上。
展开
-
针对相同元素的快速排序(算法导论7-2)
当考虑到具有与主元素相同的元素存在时,算法将数组分成三部分,分别小于主元素,等于主元素,大于主元素,然后递归排序第一部分和第三部分,重点是该怎样通过一次循环便可以达到划分目的,因为循环越少,常数因子越小:代码如下:#include<iostream>using namespace std;void partition(int A[], int p, int r, int ...原创 2018-07-26 16:57:40 · 3463 阅读 · 0 评论 -
证明求最短路径问题具有最优子结构(动态规划)
算法导论218页说了很多来说明最长路径问题不能用动态规划算法,最短路径可以。在证明最短路径子问题无关时候应该是默认承认了最短路径的最优子结构的。可是证明最优子结构需要用到复制粘贴法,在用复制粘贴法的时候又不免会因为子问题不是无关的从而不能复制粘贴,所以不能证明最优子结构,这样的话,那段用最优子结构证明子问题无关看得我逻辑有点乱。。。当然也可能是没仔细看,对书上表达的逻辑理解有误,闲话不多说,我...原创 2018-08-09 14:37:54 · 9169 阅读 · 2 评论 -
时间复杂度O(nlgn)求解最长递增子序列问题
#include <iostream>using namespace std;const int maxn = 100;int min_end[maxn]; //min_end[i]表示长度为i的子串的最小末端int pre[maxn];//pre[i]表示第i个结点的前驱结点的索引int index[maxn]; //当前找到的长度为i的递增子序列的最小末尾的索引in...原创 2018-08-11 22:10:30 · 1323 阅读 · 0 评论