当前位置: 首页 > wzjs >正文

山东网站推广营销设计移动应用开发就业方向

山东网站推广营销设计,移动应用开发就业方向,西安市做网站,做网站要备案吗复杂度分析的必要性: 当给我们一段代码时,我们是以什么准则来判断代码效率的高低呢?每一段代码都会消耗一段时间,或占据一段数据空间,那么自然是在实现相同功能的情况下,代码所耗时间最少,所占…

复杂度分析的必要性:

当给我们一段代码时,我们是以什么准则来判断代码效率的高低呢?每一段代码都会消耗一段时间,或占据一段数据空间,那么自然是在实现相同功能的情况下,代码所耗时间最少,所占据空间最小的代码效率更优。所以对于所耗时间,我们采用时间复杂度进行分析,对于所占空间,我们采用空间复杂度进行分析。

时间复杂度:

在问题中,我们将题目中数据的频数成为n。一个算法中的语句执行次数称为语句频度或时间频度,记为T(n)。我们想要知道当n不断变化时,T(n)的变化规律。若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。

大O符号表示法的引入:

下面我们先来看这一段代码:

1|for(i=1; i<=n; ++i)
2|{
3|  j = i;
4|  j++;
5|}

假设每行代码的执行时间都是相同的,假设为1。

则第1行执行时间是1,第3行执行时间为n,第4行执行时间为n。所以有T(n) = (2n + 1),

有当n趋于无穷大时,+1, 与*2 的意义可以忽略。所以时间复杂度记为O(n)。

常见的时间复杂度量级:

常数阶O(1)
对数阶O(logN)
线性阶O(n)
线性对数阶O(nlogN)
平方阶O(n2)
立方阶O(n3)
K次方阶O(nk)
指数阶(2n)

复杂度从上到下越来越大,执行效率越来越低下

下面对一些复杂度举例分析:

1,常数阶——无论有多少行,其复杂度不随n的变化而变化。

int i = 1;
int j = 2;
++i;
j++;
int m = i + j;

 2,线性阶O(n):

如上文举例所示。

3,对数阶O(logN):

int i = 1;
while(i<n)
{i = i * 2;
}

while循环中,将i * 2,i变化的越来越快,离n也越来越近。假设循环x次后,i就大于2了;所以有

2的x次方等于n,所以x = log2^n,所以代码的时间复杂度为O(logN);

4,线性对数阶O(NlogN):

就是将线性阶循环N次,便是线性对数阶。

for(m=1; m<n; m++)
{i = 1;while(i<n){i = i * 2;}
}

5,k次方阶:

就是k层循环嵌套。

经典算法的时间复杂度分析:

一般算法题或笔试题的时间限制为1s,或2s以内;故c++的操作次数一般控制在10^7 ~ 10^8为佳。

log(10^x)≈3*x。

调和级数的时间复杂度为O(logN);

分母只取质数的调和级数时间复杂度为O(loglogN);

而在不同数据范围内,应该选择怎样的算法与时间复杂度:

· 当N <= 30, ——指数级别,dfs + 剪枝,状压DP;

· 当N <= 100, ——O(N^3) 或O(N^3 logN) floyd算法,或普通dp

· 当N <= 1000.——O(N^2) 或 O(N ^ 2 logN)  dp,  二分

· 当N <= 10000 —— O(N * \sqrt{N}),块状链表。

· 当N  <= 10^5——O(N logN),各种排序,线段树,树状数组,set/map,heap,堆优化版Dijkstra,spfa,二分,求半平面交

· 当N <= 10^6 —— O(N)以及常数较小的O(NlogN)hash,单调队列,双指针,BFS,并查集,kmp,AC自动机。(常数较小的O(NlogN))sort、树状数组、heap、dijkstra、spfa

·当N ≤ 10^7—— O(n)双指针扫描、kmp、AC自动机、线性筛素数

· 当N <= 10^9——O(\sqrt{N}) 判断质数,试除法求质数,试除法求所有约数,试除法分解质因数

` 当N <= 10 ^ 18——O(logN)最大公约数,快速幂,数位DP

· 当n≤10^1000——O(logN * loglogN)k表示位数,高精度加减乘除
 

http://www.dtcms.com/wzjs/818962.html

相关文章:

  • 内江 网站建设网站标准字体样
  • 大连做网站的公司地名网站建设费用
  • 网站建设实施背景分析电子商务网站建设与运营的试题
  • 长沙 网站seo服务 网络服务天津网站设计 河西
  • 途牛网网站建设评价ps网页设计论文
  • 长春网页建站模板批量修改wordpress id
  • 怎么建设一个购买卡密的网站工作室有专门的网站
  • 黄冈网站推广软件视频下载上海企业名录 企业黄页
  • 可信网站代码wordpress 目录索引
  • 做电影网站如何不侵权asp 网站开发
  • 新手怎么做网站内容维护装修设计咨询公司
  • 做网站哪个公司最福州交通建设集团官方网站
  • 网站建设基本流程及相应的技术专业建站网站
  • 广州工程建设网站电商平台怎么入手
  • 网站开发域名注册wordpress在国内很慢
  • 天津西青建设工程网站四川省的住房和城乡建设厅网站首页
  • 电子书城网站开发项目概况m开头的网站建设公司
  • 山东网站建设和游戏开发的公司排名网站制作是那个
  • 免费试用平台网站源码优化分析
  • 便利的网站建设公司设计之家房屋装修游戏
  • 佛山企业建网站网站设计制作 厂
  • 阿里巴巴网站头像你会放什么做头像深圳网站建设 东莞网站建设
  • 外贸网站seo推广教程网站建设選平台
  • 网站程序的构成商城型网站的概念
  • 温州免费做网站网站开发建设流程
  • 怎样做科技小制作视频网站聊城专业做网站公司
  • 丽水网站推广公司广州海珠网站开发方案
  • 网上购物网站大全wordpress开启xmlrppc
  • 杭州品牌网站设计深圳最好的网站开发公司电话
  • 标书制作范本优化营商环境评价