![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
路人寅z
一个95后程序媛的学习之路......
展开
-
python--利用贪心策略实现背包问题
贪心算法是的思想是构造局部最优,难以顾全大局.它通常表现出的特点是:1.无法保证求得的解是最优解;2.运用简单;3.算法的实现过程中,通常要用到排序。能采用贪心算法求解最优解的问题,一般具有的重要性质为:最优子结构性质与贪心选择性质最优子结构性质的含义是:问题的最优解包含其子问题的最优解代码如下:class goods: def __init__(self, name...原创 2019-04-11 21:55:05 · 3532 阅读 · 0 评论 -
python--实现归并排序(分治策略)
分治算法总体思想:分—将要求解的较大规模的问题分割成k个更小规模的子问题。治—对这k个子问题分别求解。如果子问题的规模仍然不够 小,则再划分为k个子问题,如此递归的进行下去,直到问题 规模足够小,很容易求出其解为止。合—将求出的小规模的问题的解合并为一个更大规模的问 题的解,自底向上逐步求出原来问题的解。由于分治的过程中会使用到递归的概念,这里再过多的说一下递归的概念:由分治法...原创 2019-04-11 22:36:26 · 916 阅读 · 0 评论 -
python--利用贪心算法实现活动安排问题
python,贪心算法原创 2019-04-09 16:30:16 · 2405 阅读 · 1 评论 -
python--递归回溯实现台阶问题
由于前面的回溯法分割回文串这边文章已经梳理了回溯法的基本思想,所以在这里就不介绍了,直接上我们今天的主题——回溯实现台阶问题。在前面的文章也简单的代码实现了台阶问题的方法数有几种,今天是不仅要得到爬台阶的方法有几种,还要得出具体的爬楼梯方案。直接上代码:n=10 # 楼梯阶数x = [] # 得到的一个解x_set = [] # 得到满足要求的解得集合...原创 2019-04-20 23:32:59 · 872 阅读 · 0 评论 -
伪多项式(时间)算法
在计算理论领域中,若一个数值算法的实践复杂度可以表示为输入数值N的多项式,则称其时间复杂度为伪多项式时间。由于N的值是N的位数的幂,故该算法的时间复杂度实际上应视为输入数值N的位数的幂。伪多项式(时间)算法是一组特定算法的名称,这些算法的运行时间都是指数级的,但往往“看上去像”一个多项式时间的算法,甚至其在具体实践中的行为也像多项式级算法。比如,当我们要检查或回答“某个数是不是质数”这类问题时...原创 2019-04-16 22:06:29 · 3498 阅读 · 0 评论 -
python--回溯算法分割回文串
回溯法的基本思想:“试探着走”。如果试得不成功退回一步,再换一个方法试。反复进行这种试探性选择与返回纠错过程,直到求出问题的解为止。回溯法又被称为“通用解题法” 。回溯法在包含问题所有解的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一结点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续...原创 2019-04-14 22:13:06 · 805 阅读 · 0 评论