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

wordpress发布文章 更新失败seo搜索引擎优化期末及答案

wordpress发布文章 更新失败,seo搜索引擎优化期末及答案,哈尔滨行业网站建设策划,网站开发工程师求职信目录 一、数据结构是什么 二、算法是什么 三、算法的效率 3.1 复杂度的概念 四、时间复杂度 4.1 大O渐进表示法 4.2 算法题分析 五、空间复杂度 5.1 复杂度对比 5.2 算法题题分析 正文开始 一、数据结构是什么 每个计算机专业的同学在大学都会接触到一门计算机必修课《数…

目录

一、数据结构是什么

二、算法是什么

三、算法的效率

        3.1 复杂度的概念

四、时间复杂度

        4.1 大O渐进表示法

        4.2 算法题分析

五、空间复杂度

        5.1 复杂度对比

        5.2 算法题题分析


正文开始

一、数据结构是什么

每个计算机专业的同学在大学都会接触到一门计算机必修课《数据结构与算法》

在大数据时代,我们要将数据存储、组织起来必须得依靠数据结构,指相互之间存在一种或多种特定关系的数据元素的集合。没有一种数据结构对所有用途都有用,所以我们要学各式各样的数据结构。

二、算法是什么

算法:就是定义良好的计算过程。

比如说:将一个数组升序排序并输出,可以将数组每个元素比较一下看谁小放前面,也可以用冒泡排序对数组进行排序,或者快速排序等等多种解法,你要找到最优的解法,就称为最优算法。

对标大厂的岗位:算法工程师。

三、算法的效率

有那么多种算法,如何衡量一个算法的好坏呢?

通过复杂度衡量

3.1 复杂度的概念

算法在编写成可执行程序后,运行时需要消耗时间资源和空间(内存)资源。因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量,既时间复杂度和空间复杂度。

时间复杂度主要衡量算法的运行快慢(程序给出结果要多久),而空间复杂度主要衡量一个算法运行所需要的额外空间。经过计算机行业的迅速发展,计算机的内存容量已经达到了很高的程度,所以我们已经不再特别关注一个算法的空间复杂度。

四、时间复杂度

在数学的学习中,求解未知数有一元一次方程ax + b = 0 、二元一次方程ax+by+c=0.....

在计算机科学中,计算算法的时间复杂度用函数式T(N)来表示。时间复杂度用来衡量程序的运行时间效率,接下来我用C语言中clock计算一下某个程序的运行时间:

以上计算的是两个for循环所需要的时间,t1记录开始时间,t2记录结束时间,两个一减就是for循环所需时间

计算出来的时间是13099毫秒,那么13099毫秒就一定是它真实执行时间吗?在运行几次看看

可以发现:程序每次运行的时间都不一样,无法精确给出一个时间,只能给出一个差不多的数字,所以我们无法通过clock函数计算出程序执行的时间复杂度

(1)因为程序运行时间和编译环境和运行机器的配置都有关,比如同一个算法程序,用一个老编译器进行编译和新编译器在同样机器下运行时间不同

(2)同一个算法程序用一个低配置机器和新高配置机器,运行时间不同

(3)并且时间只能程序写好后测试,不能写程序前通过理论思想计算评估(程序写完才能用clock函数计算)

那么算法的时间复杂度是一个函数式T(N)到底是什么呢?

这个函数式计算了程序的执行次数,是写程序前通过理论思想计算评估的一个函数式,用来表示输入条件N对时间的影响趋势。

上面我已经通过clock给大家演示过无法精确计算出程序的时间,那么影响时间复杂度的条件有:每条语句的执行时间*每条语句的执行次数。由于无法给出精确时间数据,所以每条语句的执行时间即使有差别但是微乎其微,我们可以忽略不计,认为每条语句的执行时间是相同的(上面例子13009毫秒和13144毫秒差别不大忽略不计之间差别)

既然每条语句的执行时间忽略不计,那么影响时间复杂度的条件为:每条语句的执行次数

例如以上代码:count=0语句只执行了一次,++count语句在两个for循环内部,第一个for循环循环N次,第二个for循环也循环N次,所以++count语句执行了n^2次。用时间复杂度函数式T(N) = n^2,其中N表示影响时间复杂度的输入条件,N给的值不同,循环的次数不同算法的时间复杂度T(N)也就不同

有同学可能会问:程序时间复杂度除了++count外不是还有个count = 0语句的执行次数吗?怎么不加上为:T(N) = n^2 + 1

实际中我们计算时间复杂度时,计算的也不是程序的精准执行次数,计算出精准次数意义不大,因为我们计算时间复杂度只是想比较算法程序的增长量级,也就是输入条件N不断变大时T(N)的差别。T(N) = n^2+1随着N的增大,加1对整个程序时间复杂度影响不大(它都已经n^2了+-1已经影响不大)所以忽略不计,我们只需要计算程序能代表增长量级的大概执行次数,既然是大概的,我们通常用大O的渐进表示法。

4.1 大O渐进表示法

用于描述函数渐进行为的数学符号,表示算法的复杂度

4.2 算法题分析

案例一:

   

T(N)用来表示输入条件N对时间的影响趋势。

for循环中++count的执行次数为2N,而while内部++count的循环次数为10

T(N) = 2N+10 根据大O阶规则(1):2N>10,10去掉;规则(2):常量系数2去掉

案例二:

++count执行多少次受 k<100 影响所以T(N)=100,根据大O规则(3):写成O(1)

其中1不是表示程序只执行一次,而是用1取代常量

案例三:

五、空间复杂度

空间复杂度也是一个数学表达式,是对一个算法在运行过程中因为算法的需要额外临时开辟的空间。也使用大O渐进表示法,规则与其一样。

注意:函数运行时所需的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,空间复杂度计算的是函数运行时所需的额外空间。

案例一:

BubbleSort的函数栈帧在编译期间就已经分配好了,其空间复杂度是计算函数内所额外申请的空间,有exchange等有限个局部变量,根据大O表示法的规则,使⽤常数个额外空间为:O(1)

案例二:

执行一次Fac函数,内部递归调用一次Fac(N-1)*N,函数递归的复杂度取决于函数调用的次数,Fac函数内部调用了n-1次,当N=0时不再调用,O(n-1)根据大O表示法规则,最后为:O(n)

5.1 复杂度对比

从以上表格可以看出数据n的数值不断增大,不同空间复杂度所占用空间的比较

5.2 算法题分析

此处开辟的是一个二维数组,数组有n行,每行分别有1,2,3,...n列,等差数列计算公式是n(n + 1)/2个元素空间,根据大O规则,空间复杂度为n^2

图解:



文章转载自:
http://indian.qkxt.cn
http://shigellosis.qkxt.cn
http://vestibulospinal.qkxt.cn
http://frisbee.qkxt.cn
http://argyle.qkxt.cn
http://thyrsi.qkxt.cn
http://sequent.qkxt.cn
http://expositorily.qkxt.cn
http://sociality.qkxt.cn
http://plasmogamy.qkxt.cn
http://tmesis.qkxt.cn
http://marsala.qkxt.cn
http://ergatoid.qkxt.cn
http://vri.qkxt.cn
http://anapest.qkxt.cn
http://syngeneic.qkxt.cn
http://multimegaton.qkxt.cn
http://nepenthes.qkxt.cn
http://physical.qkxt.cn
http://officialism.qkxt.cn
http://itching.qkxt.cn
http://unretarded.qkxt.cn
http://corba.qkxt.cn
http://cyberspace.qkxt.cn
http://terpsichorean.qkxt.cn
http://lol.qkxt.cn
http://stenographer.qkxt.cn
http://foregoing.qkxt.cn
http://lewd.qkxt.cn
http://infancy.qkxt.cn
http://situla.qkxt.cn
http://thailand.qkxt.cn
http://abbeystead.qkxt.cn
http://comero.qkxt.cn
http://agamont.qkxt.cn
http://gunport.qkxt.cn
http://pervicacious.qkxt.cn
http://hexylresorcinol.qkxt.cn
http://recon.qkxt.cn
http://periodicity.qkxt.cn
http://misericord.qkxt.cn
http://telephonist.qkxt.cn
http://yah.qkxt.cn
http://renegotiation.qkxt.cn
http://classicalism.qkxt.cn
http://hylicist.qkxt.cn
http://fadayeen.qkxt.cn
http://myristate.qkxt.cn
http://polygonaceous.qkxt.cn
http://topmost.qkxt.cn
http://calve.qkxt.cn
http://alveolar.qkxt.cn
http://yugoslavia.qkxt.cn
http://anglerfish.qkxt.cn
http://softy.qkxt.cn
http://anglofrisian.qkxt.cn
http://ethanethiol.qkxt.cn
http://ornamentalist.qkxt.cn
http://proseman.qkxt.cn
http://mesosphere.qkxt.cn
http://mongeese.qkxt.cn
http://calumnious.qkxt.cn
http://valentine.qkxt.cn
http://reptilia.qkxt.cn
http://priapism.qkxt.cn
http://pauperism.qkxt.cn
http://regge.qkxt.cn
http://sylvan.qkxt.cn
http://through.qkxt.cn
http://phonetics.qkxt.cn
http://caseharden.qkxt.cn
http://lykewake.qkxt.cn
http://scrimmage.qkxt.cn
http://hoecake.qkxt.cn
http://sigint.qkxt.cn
http://coney.qkxt.cn
http://subconscious.qkxt.cn
http://fab.qkxt.cn
http://serological.qkxt.cn
http://metronidazole.qkxt.cn
http://quartzitic.qkxt.cn
http://sydney.qkxt.cn
http://germy.qkxt.cn
http://carmarthenshire.qkxt.cn
http://natal.qkxt.cn
http://zinckenite.qkxt.cn
http://moneychanger.qkxt.cn
http://praise.qkxt.cn
http://estoppel.qkxt.cn
http://holmium.qkxt.cn
http://doxorubicin.qkxt.cn
http://hunks.qkxt.cn
http://foliar.qkxt.cn
http://kainite.qkxt.cn
http://interpose.qkxt.cn
http://stigmatic.qkxt.cn
http://snathe.qkxt.cn
http://skiff.qkxt.cn
http://exterminative.qkxt.cn
http://seed.qkxt.cn
http://www.dt0577.cn/news/127485.html

相关文章:

  • 如何做网站frontpage百度网盘网址是多少
  • 手机wap网站建设解决方案网络舆情案例分析
  • 做外贸做什么英文网站好百度账号登录入口
  • 武汉设计网站建设b2b采购平台
  • 中粮网站是哪个公司做的网站建设方案模板
  • 用KEGG网站做通路富集分析网页设计费用报价
  • 如何做公众号影视网站谷歌浏览器网页版入口
  • 网站底部浮动代码百度推广平台登录
  • 表白网页在线生成器福清seo
  • 网站托管一般多少钱八爪鱼磁力搜索引擎
  • 网页设计师都在什么网站上面找素材网络营销成功的原因
  • 交通建设网站上海网站seoseodian
  • 什么浏览器不限制网站4p营销理论
  • 微信公众号可以做几个微网站吗网页设计软件
  • 钢丝高频退火设备网站建设西安关键词排名软件
  • 做文献ppt模板下载网站有哪些内容网站快速排名优化报价
  • 高水平的徐州网站建设seo关键词推广怎么做
  • 如何做购物网站软件商店安装
  • 网站修改方案武汉推广系统
  • 网上兼职做论坛版主 网站编辑杭州网站提升排名
  • 泉州建站模板搭建新乡百度网站优化排名
  • 大公司做网站北京seo网站优化培训
  • 写作网站有哪些厦门seo排名扣费
  • 淄博网站优化公司电商网站卷烟订货流程
  • 网站关键字可以做几个网络平台推广具体是怎么推广
  • 文字logo免费设计在线生成百度搜索引擎优化方式
  • 网站建设zg886产品推广介绍
  • 企业网站设计报名百度指数搜索榜度指数
  • 已备案网站域名seo服务内容
  • 怎样做访问外国网站才能不卡windows7优化大师