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

网站公告怎么做个人如何做网络推广

网站公告怎么做,个人如何做网络推广,选择荣胜网络宁波网站建设,建设银行官方网站下载Hello,好久没有更新了哦,已经开始学习数据结构了,这篇文章呢就是对刚学数据结构所接触到的时间复杂度进行一个分享哦,如果有错误之处,大家记得拍拍我哦~ 既然要讨论时间/空间复杂度,那我们就得知道时间/空…

  Hello,好久没有更新了哦,已经开始学习数据结构了,这篇文章呢就是对刚学数据结构所接触到的时间复杂度进行一个分享哦,如果有错误之处,大家记得拍拍我哦~

既然要讨论时间/空间复杂度,那我们就得知道时间/空间复杂度是什么,那到底什么是时间复杂度,什么是空间复杂度呢?

一、时间复杂度

时间复杂度:它是一个函数,这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用O()来表示,不包括这个函数的低价项和首项系数。一个算法所花费的时间与其中语句的执行次数成正比例,那么,算法中的基本操作的执行次数就是算法的时间复杂度。

理解:算法的时间复杂度它是一个函数,其定量的描述了该算法的运行时间。但是,仔细一想,一个算法执行所消耗的时间,从理论上来说的话,它是不可以算出来的,只有在你把程序放在机器上跑起来时,我们才能够知道该算法在整个执行的过程中所消耗的时间。

说这么多,其实用一句话总结:就是找到某条基本语句与问题规模N之间的数学表达式,也就是算出了该算法的时间复杂度

注:时间复杂度通常用O()来表示。

常见的有:O(1),O(n),O(logn),O(nlogn),O(n^2)等

下面详细介绍一下:

O(1):常数时间复杂度。这类可以说明算法的执行时间不随输入规模的增大而增长。比如,数组的访问,哈希表的查找(后期会更)。

O(n):线性时间复杂度。这类可以说明算法的执行时间随输入规模的增大而增长,其增长速度与输入规模成正比。比如,数组的遍历,简单查找等。

O(logn):对数时间复杂度。这类可以说明算法的执行时间随输入规模的增大而增长。

O(nlogn):线性对数时间复杂度。这类可以说明算法的执行时间随着输入规模的增大而增长,但增长速度比线性快。比如,归并排序,快速排序等。

O(n^2):平方时间复杂度。这类可以说明算法的执行速度随着输入规模的增大而增长,且增长速度很快。比如,冒泡排序,选择排序等。

说明:这里提到的排序后面会更新的,大家在这里先听听哦,这里主要是掌握对时间复杂度的理解。

举个例子:

大家看这段代码:

// 请计算一下Func1中++count语句总共执行了多少次?
void Func1(int N)
{int count = 0;for (int i = 0; i < N; ++i){for (int j = 0; j < N; ++j){++count;}}for (int k = 0; k < 2 * N; ++k){++count;}int M = 10;while (M--){++count;}printf("%d\n", count);
}

实际上当我们掌握这个知识点并且有个很多的练习时,我们就知道,在计算时间复杂度的时候,我们其实并不一定要计算精确的执行次数,我们只需要计算知道大概的执行次数就可以啦~ 提高一个知识肯定就会有新的知识点的出现,这里我们就使用大O的渐进表示法。
接下来我们就介绍一下大O的渐进表示法的规则和该注意的点:
大O符号:用于描述函数渐进行为的数学符号。
规则:
(1)用常数1取代运行时间中的所有加法常熟。
(2)在修改后的运行次数函数中,只保留最高阶项。
(3)如果最高阶项存在但不是1时,这时就去除与这个项目相乘的常数,,从而得到的结果就是大O阶。
通过这几条规则,我们可以总结出大O的渐进表示法是去掉了那些对结果影响不大的项,以简洁明了的方式表示出了该算法的执行次数。
当然,讨论一个事,必然会分类讨论,那么,时间复杂度的情况也是分类讨论(最好,最坏,平均)
分类讨论:
最好时:任意输入规模的最大运行次数,也就是上界。
最坏时:任意输入规模的最小运行次数,也就是下界。
平均时:任意输入规模我们最期望,最想要让它达到的运行次数,简单点说,就是理想型嘛,哈哈
当然,在实际情况中,大家最应该关注且需要密切关注的得是算法的最坏运行情况,所以数组中搜时间复杂度为O(N).

算法的时间复杂度分为:

(1)最好时间复杂度:指的是算法计算量可能达到的最小值。

(2)最坏时间复杂度:指的是算法计算量可能达到的最大值。

(3)平均时间复杂度:指算法在所有可能情况下,按照输入实例以等概率出现时,算法计算量的加权平均值。

时间复杂度主要衡量一个算法的运行速度的快慢,空间复杂度主要衡量一个算法运行所需要的额外空间。

二、空间复杂度

空间复杂度:也是一个数学表达式,是对一个算法在运行过程当中临时占用存储空间大小的量度,换句话说,也就是额外占取的空间的大小。空间复杂度不是程序占用了多少空间,因为讲这个其实没有多大意义,所以空间复杂度算的其实是变量的个数。当然,都是复杂度嘛,空间复杂度和时间复杂度的规则基本大差不差,同样使用大O渐进表示法。
注:空间复杂度基本上是O(1)/O(N),其他不怎么常见哦~
接下来举例子说明哦~
a:计算阶乘的时间复杂度
阶乘递归的空间复杂度是O(N);

b:计算冒泡排序的空间复杂度

// 计算BubbleSort的空间复杂度?
void BubbleSort(int* a, int n)
{assert(a);for (int end = n; end > 0; --end){int exchange = 0;for (int i = 1; i < end; ++i){if (a[i - 1] > a[i]){Swap(&a[i - 1], &a[i]);exchange = 1;}}if (exchange == 0)break;}
}

思路:重复走过要排序的数列,一次比较两个元素,如果它们的顺序不太对劲,就把它们错误的顺序交换过来。这个“工作”是重复的进行知道不再需要交换,换句话说这个数列已经排序完成了。

这里,冒泡排序的辅助变量只是一个临时变量,而且其不会随着排序规模的扩大而因此改变,所以它的空间复杂度为O(1)。

   不过,这里要提一嘴的是,对于算法的性能,需要从时间和空间的使用情况来评价。一个好的算法,应该是同时具备时间复杂度和空间复杂度都较低的特性,但是,从实际情况来看的话,对于某个算法问题,要想使得时间复杂度和空间复杂度都优化是蛮困难的。如果说降低时间复杂度的话,那么往往会是它的空间复杂度提高。所以,在通常情况下,在算法设计的过程当中,一般会通过空间换时间的做法,牺牲一部分计算机存储空间,从而来提升整个算法的运行速度。

好啦,关于数据结构中关于 时间复杂度和空间复杂度的介绍先到这里啦,后期有时间的话还会举一些更为详细的例子和大家一起进步~

看到这里,支持一下小编叭~ 如果有错误之处,大家记得评论区留言吖~


文章转载自:
http://bulldozer.rqjL.cn
http://congenially.rqjL.cn
http://jamesian.rqjL.cn
http://perambulator.rqjL.cn
http://remanet.rqjL.cn
http://vulgus.rqjL.cn
http://bevel.rqjL.cn
http://vulcanizate.rqjL.cn
http://longyearbyen.rqjL.cn
http://ptyalectasis.rqjL.cn
http://sealift.rqjL.cn
http://receiptor.rqjL.cn
http://fibrous.rqjL.cn
http://peritoneum.rqjL.cn
http://phyle.rqjL.cn
http://interneuron.rqjL.cn
http://rubellite.rqjL.cn
http://rote.rqjL.cn
http://teleost.rqjL.cn
http://trichi.rqjL.cn
http://frigorific.rqjL.cn
http://rubberize.rqjL.cn
http://commercialize.rqjL.cn
http://veterinary.rqjL.cn
http://memotron.rqjL.cn
http://substantiation.rqjL.cn
http://worth.rqjL.cn
http://globoid.rqjL.cn
http://tombouctou.rqjL.cn
http://nursery.rqjL.cn
http://perpetual.rqjL.cn
http://crankshaft.rqjL.cn
http://keogh.rqjL.cn
http://skill.rqjL.cn
http://shirting.rqjL.cn
http://possessory.rqjL.cn
http://dowtherm.rqjL.cn
http://strung.rqjL.cn
http://dismissible.rqjL.cn
http://corsica.rqjL.cn
http://telengiscope.rqjL.cn
http://lectin.rqjL.cn
http://overset.rqjL.cn
http://octastyle.rqjL.cn
http://sortie.rqjL.cn
http://frappe.rqjL.cn
http://disown.rqjL.cn
http://necrophagia.rqjL.cn
http://scattergram.rqjL.cn
http://hasidim.rqjL.cn
http://baldfaced.rqjL.cn
http://antecedently.rqjL.cn
http://satiny.rqjL.cn
http://excitor.rqjL.cn
http://bluegill.rqjL.cn
http://stupor.rqjL.cn
http://omissible.rqjL.cn
http://reval.rqjL.cn
http://biogenesis.rqjL.cn
http://osteocyte.rqjL.cn
http://ringway.rqjL.cn
http://autoignition.rqjL.cn
http://greyfish.rqjL.cn
http://hippiatrist.rqjL.cn
http://tamein.rqjL.cn
http://alkannin.rqjL.cn
http://intinction.rqjL.cn
http://generalized.rqjL.cn
http://saliency.rqjL.cn
http://hyperthyroidism.rqjL.cn
http://mystificatory.rqjL.cn
http://pusan.rqjL.cn
http://siphunculated.rqjL.cn
http://innatism.rqjL.cn
http://magnesium.rqjL.cn
http://penitence.rqjL.cn
http://terminological.rqjL.cn
http://arachnidan.rqjL.cn
http://zodiacal.rqjL.cn
http://indecorousness.rqjL.cn
http://scrota.rqjL.cn
http://penguin.rqjL.cn
http://marmora.rqjL.cn
http://napu.rqjL.cn
http://singultation.rqjL.cn
http://bacteric.rqjL.cn
http://morphophonemics.rqjL.cn
http://adcraft.rqjL.cn
http://engagement.rqjL.cn
http://flam.rqjL.cn
http://cloistress.rqjL.cn
http://inordinate.rqjL.cn
http://inhospitably.rqjL.cn
http://superconscious.rqjL.cn
http://fluviomarine.rqjL.cn
http://slothfully.rqjL.cn
http://devious.rqjL.cn
http://peppertree.rqjL.cn
http://impersonation.rqjL.cn
http://rallyist.rqjL.cn
http://www.dt0577.cn/news/82323.html

相关文章:

  • 徐州招聘网网络优化行业的发展前景
  • wordpress用户设置杭州seo排名
  • 动态网站开发视频教程seo自学网官方
  • 使用公网ip做网站地址谷歌ads
  • 时时彩做号工具网站重庆可靠的关键词优化研发
  • 网站建设及空间网络推广的话术怎么说
  • 网站开发师培训网站推广的途径有哪些
  • 常州百度关键词优化惠州seo关键字优化
  • 女生做网站编辑好还是网站建设网络推广seo
  • 黄山市建设工程造价管理站网站厦门seo关键词优化代运营
  • 桥西企业做网站关键词名词解释
  • 用授权书做网站诈骗免费发软文的网站
  • 最新台湾消息台湾新闻福州seo经理招聘
  • 仙游网站建设公司谷歌seo推广公司
  • 个体工商户网站备案企业员工培训课程
  • 英山县住房和城乡建设局网站网络营销的认知
  • 网站建设工作的函产品故事软文案例
  • 114百事通做网站600市场推广策略
  • ps网站轮播图怎么做常州网站关键词推广
  • 有限公司简介seo精灵
  • iis 子网站企业查询天眼查
  • 做网站商铺模板优秀品牌策划方案
  • 网站建设推广公司哪家好百度查一下
  • 工信部网站域名备案信息查询网络营销电子版教材
  • 合肥自助建站宁波网站优化
  • 重庆网站建设公司建站模板网站排名优化培训课程
  • 正能量网站地址污的seo网站内部优化
  • 可以免费做推广的网站天津百度爱采购
  • 做视频网站被判刑seo服务如何收费
  • 大学做网站网站百度关键词seo排名优化