算法设计
JiaoCL
平台,数据,算力,算法
展开
-
分治法-----快速排序、归并排序、堆排序
十种常见排序算法可以分为两大类:**非线性时间比较类排序:**通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。**线性时间非比较类排序:**不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。0.2 算法复杂度0.3 相关概念稳定:如果a原本在b前面,而a=b,排序之...转载 2019-01-17 16:39:27 · 4206 阅读 · 0 评论 -
算法导论 课后习题解答1-11章
https://ita.skanev.com/原创 2019-01-18 10:30:37 · 1172 阅读 · 0 评论 -
动态规划
动态规划动态规划通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。基本思想若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。 通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量: 一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时...转载 2019-08-19 17:18:29 · 118 阅读 · 0 评论 -
常用算法之贪心算法
贪心算法贪心算法简介: 贪心算法是指:在每一步求解的步骤中,它要求“贪婪”的选择最佳操作,并希望通过一系列的最优选择,能够产生一个问题的(全局的)最优解。贪心算法每一步必须满足一下条件:1.建立数学模型来描述问题2.把求解的问题分成若干个子问题3.对每一子问题求解,得到子问题的局部最优解4.把子问题对应的局部最优解合成原来整个问题的一个近似最优解贪心算法正确性证明(转载from刘...转载 2019-08-19 17:19:56 · 174 阅读 · 0 评论 -
分治法,动态规划及贪心算法区别
转自:http://hxrs.iteye.com/blog/1055478分治法,动态规划法,贪心算法这三者之间有类似之处,比如都需要将问题划分为一个个子问题,然后通过解决这些子问题来解决最终问题。但其实这三者之间的区别还是蛮大的。1.分治法分治法(divide-and-conquer):将原问题划分成n个规模较小而结构与原问题相似的子问题;递归地解决这些子问题,然后再合并其结果,就得到原问...转载 2019-01-16 17:05:54 · 734 阅读 · 0 评论