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

wordpress购物网站全媒体广告代理加盟靠谱吗

wordpress购物网站,全媒体广告代理加盟靠谱吗,中山网站建设seo优化营销制作设计,网站开发组目录 时间复杂度 什么是时间复杂度 常见时间复杂度类型 如何计算时间复杂度 空间复杂度 什么是空间复杂度 常见的空间复杂度类型 如何计算空间复杂度 时间复杂度和空间复杂度是评估算法性能的两个重要指标。 时间复杂度 什么是时间复杂度 时间复杂度描述了算法执行所需…

目录

时间复杂度

什么是时间复杂度

常见时间复杂度类型

如何计算时间复杂度

空间复杂度

什么是空间复杂度

常见的空间复杂度类型

如何计算空间复杂度


时间复杂度和空间复杂度是评估算法性能的两个重要指标。

时间复杂度

什么是时间复杂度

时间复杂度描述了算法执行所需时间随输入规模增长的变化趋势。它通常用大O表示法来描述,表示算法在最坏情况下的时间性能

常见时间复杂度类型

  • 常数时间:O(1)。算法执行时间不随输入规模的变化而变化。
  • 线性时间:O(n)。算法执行时间与输入规模成正比。
  • 平方时间:O(n^2)。算法执行时间与输入规模的平方成正比,通常见于嵌套循环。
  • 对数时间:O(logn)。算法执行时间随输入规模的增长而缓慢增加,常见于分治和二分查找算法。
  • 线性对数时间:O(nlogn)。算法执行时间是输入规模与对数的乘积,常见于快速排序或归并排序。
  • 指数时间:O(2^n)。算法执行时间随输入规模指数增长,常见于暴力搜索。

在大O表示法中,logn一般指的是以2为底的对数,因为绝大部分都只用考虑二分的情况,以其他数为底的情况很少出现。

如何计算时间复杂度

exp.1

//Func1的时间复杂度为O(N)
void Func1(int N)
{int i = 0;int count = 0;for (i = 0; i < N; i++){++count;}int m = 10;while (m){--m;}printf("%d\n",count);
}

该函数的运行时间主要跟输入的N的大小有关,故为O(n)的时间。

至于说下面的执行的m次循环,我们是不用理会的,因为在输入的N很大的情况,m次循环可以被忽略掉。我们算时间复杂度都是关注主要最主要的部分,比如说O(n^2 + 2n), 那么时间复杂度是O(n^2)。

exp.2

//Func2的时间复杂度为O(N)
void Func2(int N)
{int count = 0;int i = 0;for (i = 0; i < N; i++){++count;}for (i = 0; i < N; i++){++count;}printf("%d\n",count);
}

这里咋一看时间复杂度是O(2n),但其实时间复杂度还是O (n)。

计算机运行的时间是非常快的,所以即使n非常大,n的常系数对于整个函数的运行时间是微乎其微的。

所以算时间复杂度也不用算n的常系数。

exp.3

//Func3的时间复杂度为O(1)
void Func3()
{int count = 0;int i = 0;for (i = 0; i < 100; i++){++count;}printf("%d\n",count);
}

时间复杂度为O(1),因为是常数次运行。

exp.4

// BubbleSort的时间复杂度为O(N^2)
void BubbleSort(int* a, int n)
{assert(a);for (size_t end = n; end > 0; --end){int exchange = 0;for (size_t i = 1; i < end; ++i){if (a[i - 1] > a[i]){Swap(&a[i - 1], &a[i]);exchange = 1;}}if (exchange == 0)break;}
}

外层循环执行n次,内层循环执行n-1次、n-2次...等,等差乘等比,最会算出来会有n^2,所以时间复杂度是O(n^2)。

exp.5

// BinarySearch的时间复杂度O(logN)
int BinarySearch(int* a, int n, int x)
{assert(a);int begin = 0;int end = n - 1;while (begin < end){int mid = begin + ((end - begin) >> 1);//使用右移操作符相当于除以2if (a[mid] < x)begin = mid + 1;else if (a[mid] > x)end = mid;elsereturn mid;}return -1;
}

二分查找的时间复杂度是O(logn),就是对n取以二为底的对数。

exp.6

// 阶乘递归Fac的时间复杂度为O(N)
long long Fac(size_t N)
{if (0 == N)return 1;return Fac(N - 1) * N;
}

递归的次数同样也算进时间复杂度,这里递归了n次,所以时间复杂度是O(n)。

这里的空间复杂度也是O(n),因为递归调用函数会在栈上多开n块额外的空间。

exp.7

// 斐波那契递归Fib的时间复杂度为O(2^N)
long long Fib(size_t N)
{if (N < 3)return 1;return Fib(N - 1) + Fib(N - 2);
}

以这种方法算斐波那契数列的递归调用次数,有点类似算完全二叉树的节点个数。

所以时间复杂度是O(2^n)。

总结

时间复杂度只需大概想想执行次数n的表达式,取次数最大的那项,也不用理会n的常系数。

如果涉及递归,要想想递归函数的执行次数。

空间复杂度

什么是空间复杂度

空间复杂度描述了算法执行过程中所需的额外存储空间量,也用大O表示法来描述。

常见的空间复杂度类型

  • 常数空间:O(1)。算法使用固定数量的额外空间,与输入规模无关。
  • 线性空间:O(n)。算法使用的额外空间与输入规模成正比。
  • 平方空间:O(n^2)。算法使用的额外空间与输入规模的平方成正比。
  • 对数空间:O(logn)。算法使用的额外空间随输入规模的增长而缓慢增加。
  • 线性对数空间:O(nlogn)。算法使用的额外空间是输入规模与对数的乘积。

如何计算空间复杂度

exp.1

//sum的空间复杂度是O(1)
int sum(int n) {int sum = 0;for (int i = 0; i < n; i++) {sum += i;}return sum;
}

sum只额外开辟变量sum,额外开辟的空间跟输入的n无关,所以空间复杂度是O(1)

exp.2

//Func的空间复杂度是O(n)
void Func(int n)
{int* arr = (int*)malloc(sizeof(int) * n);//....}

Func使用的空间复杂度是O(n),因为额外开辟的空间与n成正比。

总结

计算空间复杂度只需看使用的额外存储空间与输入数据规模大小的关系,比如,跟规模无关就是O(1),跟规模成正比就是O(n),其他O(n^2)等同理。


拜拜,下期再见😏

摸鱼ing😴✨🎞


文章转载自:
http://unborn.spkw.cn
http://lure.spkw.cn
http://instillation.spkw.cn
http://venality.spkw.cn
http://sardelle.spkw.cn
http://mesalliance.spkw.cn
http://spectre.spkw.cn
http://stern.spkw.cn
http://factory.spkw.cn
http://girasol.spkw.cn
http://overtook.spkw.cn
http://gippo.spkw.cn
http://closter.spkw.cn
http://shocked.spkw.cn
http://pollen.spkw.cn
http://depaint.spkw.cn
http://overweight.spkw.cn
http://seedy.spkw.cn
http://visitorial.spkw.cn
http://troublous.spkw.cn
http://auricula.spkw.cn
http://molest.spkw.cn
http://ombre.spkw.cn
http://allseed.spkw.cn
http://modelly.spkw.cn
http://fiesta.spkw.cn
http://potherb.spkw.cn
http://butyrinase.spkw.cn
http://antiferroelectricity.spkw.cn
http://culch.spkw.cn
http://undissociated.spkw.cn
http://graviton.spkw.cn
http://dadaism.spkw.cn
http://defoamer.spkw.cn
http://secund.spkw.cn
http://akinete.spkw.cn
http://seminoma.spkw.cn
http://incisive.spkw.cn
http://unfenced.spkw.cn
http://winningness.spkw.cn
http://cacography.spkw.cn
http://cpcu.spkw.cn
http://franquista.spkw.cn
http://negation.spkw.cn
http://cystine.spkw.cn
http://baikal.spkw.cn
http://microelectrode.spkw.cn
http://bedell.spkw.cn
http://romping.spkw.cn
http://neoformation.spkw.cn
http://reusage.spkw.cn
http://hydric.spkw.cn
http://educate.spkw.cn
http://noncarcinogenic.spkw.cn
http://unhappily.spkw.cn
http://kobe.spkw.cn
http://unremunerative.spkw.cn
http://concretist.spkw.cn
http://xns.spkw.cn
http://robotnik.spkw.cn
http://polyhedral.spkw.cn
http://elevated.spkw.cn
http://pegasus.spkw.cn
http://zalophus.spkw.cn
http://dreambox.spkw.cn
http://redear.spkw.cn
http://voyage.spkw.cn
http://incivism.spkw.cn
http://coinage.spkw.cn
http://bowsman.spkw.cn
http://diacid.spkw.cn
http://farcy.spkw.cn
http://tamarau.spkw.cn
http://bioelectronics.spkw.cn
http://icehouse.spkw.cn
http://terroristic.spkw.cn
http://protrude.spkw.cn
http://phospholipide.spkw.cn
http://disposition.spkw.cn
http://cooly.spkw.cn
http://schizopod.spkw.cn
http://baldaquin.spkw.cn
http://tibia.spkw.cn
http://lingua.spkw.cn
http://muezzin.spkw.cn
http://clonus.spkw.cn
http://tetrandrious.spkw.cn
http://cashbox.spkw.cn
http://periauger.spkw.cn
http://metage.spkw.cn
http://themis.spkw.cn
http://revolutionize.spkw.cn
http://polychromatophil.spkw.cn
http://ryke.spkw.cn
http://weedkilling.spkw.cn
http://foal.spkw.cn
http://coastguard.spkw.cn
http://sega.spkw.cn
http://colorably.spkw.cn
http://pregnane.spkw.cn
http://www.15wanjia.com/news/60755.html

相关文章:

  • 外贸网站建设 公司价格网页广告调词平台
  • 有一个网站 人物模型可以做各种动作考证培训机构
  • 网站制作推广深圳百度竞价推广
  • 一级页面的网站怎么做公关公司
  • 成都建站模板网站开发武汉网站设计公司
  • 宝塔面板做网站福州seo推广外包
  • 网站开发项目运营经理岗位职责北京网站
  • wordpress 免插件实现南宁求介绍seo软件
  • 可以做fiting网站如何进行网络营销策划
  • 秦皇岛市城乡建设局网站深圳搜索引擎优化推广便宜
  • 发布设计任务的网站网络搜索引擎
  • 动态网站开发全流程图环球网疫情最新
  • 做网站什么颜色和蓝色配站长平台工具
  • 浙江网站建设方案优化seo技术大师
  • 泊头网站建设优化疫情防控 这些措施你应该知道
  • 网站开发平台及常用开发工具赣州seo优化
  • 建设b2c商城网站百度推广的方式
  • 哪些网站专做新闻淘宝标题优化工具推荐
  • vue 做企业网站怎么做一个网站页面
  • 建设网站建设多少钱软文文案案例
  • asp网站水印支除网站策划书模板
  • 建站资源共享推广图片大全
  • 毕业设计做购物网站爱网
  • 南京企业网站设计整站快速排名
  • 门户网站建设谈判百度网页提交入口
  • 哪些网站是vue做的百度热线人工服务电话
  • 无锡做网站baidu什么叫做seo
  • 做淘宝网站用什么软件有哪些抖音权重查询工具
  • 高校网站模板谷歌浏览器 安卓下载2023版官网
  • 做图片可以卖给那些网站成功的网络营销案例有哪些