递归调用与时间复杂度的学习总结
来源:互联网 发布:dota2 7.07 知乎 编辑:程序博客网 时间:2024/05/19 13:18
今天主要学习了两个知识点。分别是递归调用和时间复杂度。重点是时间复杂度,比较复杂 。
1. 递归函数
1.1题目1:
一共5个人,一个比一个大2岁,最后一个10岁,问第一个多少岁?
首先用循环形式来写函数,如下:
int Age1(int n)//O(n){int tmp = 10;for(int i=1;i<n;i++){tmp += 2;}return tmp;}
而用递归函数如下:
int Age(int n) //O(n){int tmp;if(n == 1)//边界条件{tmp = 10;}else{tmp = Age(n-1) + 2;}return tmp;}
但是递归函数的时间复杂度是比循环大的。
2.时间复杂度
如下一段程序:
bool Fun(int n){ int i=2; while((n%i)!=0 && i*1.0<sqrt(n)) { i++; } if(i*1.0>sqrt(n)) return true; else return false;}现在问:1.这段程序实现什么功能? 2.时间复杂度是多少?
答:1.判断一个数是否为素数。
2.时间复杂度为sqrt(n)。
阅读全文
0 0
- 递归调用与时间复杂度的学习总结
- 时间复杂度与空间复杂度,递归算法
- 递归时间复杂度的分析
- 递归算法的时间复杂度
- 递归算法的时间复杂度
- 递归算法的时间复杂度
- 递归算法的时间复杂度终结篇与Master method
- 时间复杂度的总结
- 递归树求取递归的时间复杂度
- 二分查找与斐波那契数递归与非递归的时间复杂度与空间复杂度
- 递归算法时间复杂度分析与改善
- 算法时间复杂度----分治与递归
- 斐波那契数列的递归与非递归算法实现及其时间复杂度
- 初学者对于时间复杂度的直观体会以及对递归调用数数的心得
- 递归式的时间复杂度的计算
- 递归算法的时间复杂度分析
- 递归算法的时间复杂度分析
- 估算递归问题的时间复杂度方法
- HTML基础(一)
- 1057. 数零壹(20)
- JVM内存管理--计算机内存和Java内存组件
- Python基础总结(1)
- php遍历数组的几种方法
- 递归调用与时间复杂度的学习总结
- 一个人学习真的太累了,但是还得熬,总结之后继续go
- JQuery解析XML(学习日记)
- HTML基础(二)
- 二叉搜索树操作集
- 动态规划解337. House Robber III
- Wrath CodeForces
- hive内部表和外部表的区别
- 数据结构——二叉堆