算法总结(第二篇)
来源:互联网 发布:htpp js.ynjy.cn 编辑:程序博客网 时间:2024/05/18 03:32
递归算法:
递归算法,简单来说,就是自己调用自己。采用的思路是分治法,即一个大的计算,分成若干个小的计算,但是小计算的结果不影响大计算的结果,并且两个结果要一样。而递归的本质,就是自己调用自己。但是递归不是一个无限循环,他有终止的条件。比如“斐波那契数列”用的就是递归的思想。
递归的优点相对来说比较明显:代码清晰,简洁,可读性强,容易用数学归纳法来证明算法是否正确,为算法的计算带来了很大的方便。但是它的缺点,也是不可忽略的。效率低下,占用内存空间大,耗费时间多。
下面是一个递归的demo:已知数列f(0)=1;f(1)=4;f(n+2) = 2*f(n+1) + f(n);求f(10)的值
选择排序:
选择排序跟冒泡排序一样,都属于简单排序。它的思路很简单,通过数组之间两个元素的对比,然后进行交换位置。它跟冒泡排序的最大不同在于,它交换的次数比冒泡排序的少,但是跟冒泡排序的时间复杂度也是一样的,所以它的优缺点跟冒泡排序也是一样的。时间复杂度,同样为O(n*n)。
下面的是demo:
0 0
- 算法总结(第二篇)
- 第二专题总结(搜索算法)
- 算法导论:第二章总结
- 算法导论总结——第二章
- 算法导论第一,第二部分总结
- java数据结构与算法--第二章总结
- 搜索算法第二篇
- c++学习总结(第二篇)
- 第二篇总结(2016/01/13)
- 学习总结第二篇
- 【基础算法】(02) 十二种排序算法(第二篇)
- 《算法竞赛-训练指南》第二章-数论常用算法总结
- 第二十一篇:内部排序总结(附各种排序算法源码)
- 数据结构与算法分析(C++第三版)第二章问题总结
- 排序算法系列第二篇
- 算法第二篇之分治
- 算法作业(第二周)
- 第二十六篇 知识点总结
- Redis集群之twemproxy
- 前面两篇安装的文字,关于root密码初始化修改不是很明显
- Codeforces #305 div2 E. Mike and Foam 数论 容斥原理
- [小技巧]导文件超出php或nginx超时时间,怎们办?
- JavaScript 中文字符占两个字节处理方法
- 算法总结(第二篇)
- Deep Learning(3.21)
- UESTC271(dp)
- 从头认识设计模式-策略模式-07-对策略模式的总结
- Ubuntu系统 VI 编辑器初试
- go语言在linux平台上的搭建
- 使用scm-manager搭建git/svn 代码管理仓库
- Java之 redirect 和 forward【整理】
- Android关于log日志,华为不输出log.v,log.d