![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 85
XINGKONG_04
这个作者很懒,什么都没留下…
展开
-
排序算法汇总
1.冒泡排序参考链接:排序算法总结原创 2018-06-29 10:42:00 · 231 阅读 · 0 评论 -
迭代和递归的区别
概念递归:程序调用自身的编程思想,即一个函数调用本身。一个函数在其定义中直接或间接调用自身的一种方法,它通常把一个大型的复杂的问题转化为一个与原问题相似的规模较小的问题来解决,可以极大的减少代码量.递归的能力在于用有限的语句来定义对象的无限集合。使用递归要注意的有两点:1)递归就是在过程或函数里面调用自身;2)在使用递归时,必须有一个明确的递归结束条件,称为递归出口。递归分为两个阶段:1)递推:把...原创 2018-07-03 19:10:40 · 741 阅读 · 0 评论 -
快速幂算法
原理介绍快速幂的目的就是做到快速求幂,假设我们要求a^b,按照朴素算法就是把a连乘b次,这样一来时间复杂度是O(b)也即是O(n)级别,快速幂能做到O(logn)。我们可以对指数b拆分:(1)如果b为偶数,那么a^b = (a^2)^(b/2);(2)如果b为奇数,那么a^b = a * (a^2)^(b-1)/2);(3)如果b/2为偶数,那么a^b = ((a^2)*(a^2))^(b/4);...原创 2018-07-04 21:10:16 · 452 阅读 · 0 评论 -
动态规划算法
动态规划基础理论 动态规划,指通过组合子问题的解来求解原问题。动态规划算法的核心是记住已经解决过的子问题的解。 与分治方法的区别:分治方法将问题划分为互不相交的子问题,递归地求解子问题,再将它们的解组合起来,求出原问题的解。动态规划应用于子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的求解是递归进行的,将其划分为更小的子子问题)分治算法会做许多不必要的工...原创 2018-07-17 20:28:01 · 433 阅读 · 0 评论 -
回溯算法原理总结
回溯算法理论总结回溯法是一种类似枚举的搜索尝试过程,既然是枚举,那么就会遍历解空间树中的所有解(或者是“路径”),搜索的过程按照DFS原则,而尝试就意味着,在遍历的过程中,有可能到达某一个结点后,发现不能够满足约束条件,在这次尝试中,这条“路”是不优的,将走不通,即无法找到所求的解,那么就会回退到上一步的状态,重新作出选择。如果即满足约束条件,但是依然没有获得有效的解,那么我们就需要在此基础上...原创 2018-07-19 19:29:09 · 3635 阅读 · 0 评论