算法
晓梦初醒时分
这个作者很懒,什么都没留下…
展开
-
关于《算法》递归算法复杂度分析
写在前面的话:不是有递归函数复杂度就是O(nLogn)。还是要具体问题具体分析。如果递归函数中,只进行一次递归调用,递归的深度为depth;在每个调用中时间复杂度为T,则总的时间复杂度为O(T*depth);double pow(double x, int n){ assert(n>=0);//此处如果n<0怎么改写才能够得到同样的结果 ...原创 2018-07-13 21:29:30 · 623 阅读 · 0 评论 -
关于《算法》 关于Big O的初步认知
// 20180609用于测试对一个数据规模有概念#include <iostream> #include <cmath> #include <ctime> //用于计数使用命名空间std; int main(){ for(int x = 1; x <= 9; x ++){ int n = pow(10,x); ...原创 2018-07-08 10:20:39 · 1135 阅读 · 0 评论 -
关于《算法》判断一个算法的数据规模不要盲目的判断
对于判断一段代码的数据规模很多时候是可以看到捷径的比如有两个n循环,其中后面一个循环和n是成正相关,此时前一个n和后一个n相互嵌套,所以此时的数量级上表示应该是O(n^2)级别。但是会有的时候后还是有特例的 比如两个嵌套,中间嵌套层并没有出现n,只是一个常数,此时就不能一概而论的认为应该是O(n^2)级别复杂度的代码。利用二分查找法寻找判断O(nlogn) 级别算法的数据规模,以下为例:...原创 2018-07-09 20:58:52 · 1582 阅读 · 2 评论