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

做网站导航栏素材图行业网站

做网站导航栏素材图,行业网站,无锡市住房城乡建设委网站,大连网站建设工作室文章目录 <center>时间复杂度和空间复杂度算法的复杂度时间复杂度大O的渐进表示法常见时间复杂度计算举例 空间复杂度实例 时间复杂度和空间复杂度 算法的复杂度 算法在编写成可执行程序后&#xff0c;运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏&…

文章目录

  • <center>时间复杂度和空间复杂度
    • 算法的复杂度
      • 时间复杂度
        • 大O的渐进表示法
          • 常见时间复杂度计算举例
      • 空间复杂度
        • 实例

时间复杂度和空间复杂度

算法的复杂度

  算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。
  时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。

时间复杂度

  时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。但是我们需要每个算法都上机测试吗?是可以都上机测试,但是这很麻烦,所以才有了时间复杂度这个分析方式。一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度

大O的渐进表示法

   大O符号(Big O notation):是用于描述函数渐进行为的数学符号
推导大O阶方法:

  1. 用常数1取代运行时间中的所有加法常数。
  2. 在修改后的运行次数函数中,只保留最高阶项。
  3. 如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶。
常见时间复杂度计算举例
// 计算Func2的时间复杂度?
void Func2(int N)
{int count = 0;for (int k = 0; k < 2 * N ; ++ k){++count;}int M = 10;while (M--){++count;}printf("%d\n", count);
}// 计算Func3的时间复杂度?
void Func3(int N, int M)
{int count = 0;for (int k = 0; k < M; ++ k){++count;}for (int k = 0; k < N ; ++ k){++count;}printf("%d\n", count);
}// 计算Func4的时间复杂度?
void Func4(int N)
{int count = 0;for (int k = 0; k < 100; ++ k){++count;}printf("%d\n", count);
}
  1. 实例1基本操作执行了2N+10次,通过推导大O阶方法知道,时间复杂度为 O(N)
  2. 实例2基本操作执行了M+N次,有两个未知数M和N,时间复杂度为 O(N+M)
  3. 实例3基本操作执行了10次,通过推导大O阶方法,时间复杂度为 O(1)

空间复杂度

  空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用存储空间大小的量度 。
空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟实践复杂度类似,也使用大O渐进表示法。
注意:函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因此空间复杂度主要通过函数在运行时候显式申请的额外空间来确定。

实例
// 计算BubbleSort的空间复杂度?
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;}
}// 计算Fibonacci的空间复杂度?
// 返回斐波那契数列的前n项
long long* Fibonacci(size_t n)
{if(n==0)return NULL;long long * fibArray = (long long *)malloc((n+1) * sizeof(long long));fibArray[0] = 0;fibArray[1] = 1;for (int i = 2; i <= n ; ++i){fibArray[i] = fibArray[i - 1] + fibArray [i - 2];}return fibArray;
}// 计算阶乘递归Fac的空间复杂度?
long long Fac(size_t N)
{if(N == 0)return 1;return Fac(N-1)*N;
}
  1. 实例1使用了常数个额外空间,所以空间复杂度为 O(1)
  2. 实例2动态开辟了N个空间,空间复杂度为 O(N)
  3. 实例3递归调用了N次,开辟了N个栈帧,每个栈帧使用了常数个空间。空间复杂度为O(N)

文章转载自:
http://muscovitic.bpcf.cn
http://communally.bpcf.cn
http://remorseless.bpcf.cn
http://infusionism.bpcf.cn
http://naples.bpcf.cn
http://millinery.bpcf.cn
http://interbrain.bpcf.cn
http://argental.bpcf.cn
http://windstick.bpcf.cn
http://middling.bpcf.cn
http://monotreme.bpcf.cn
http://nippon.bpcf.cn
http://dicrotisc.bpcf.cn
http://canaliculus.bpcf.cn
http://denucleate.bpcf.cn
http://spaz.bpcf.cn
http://travelling.bpcf.cn
http://urbanity.bpcf.cn
http://cursorily.bpcf.cn
http://psychodynamic.bpcf.cn
http://marconigraph.bpcf.cn
http://hoosgow.bpcf.cn
http://descendible.bpcf.cn
http://salifiable.bpcf.cn
http://radical.bpcf.cn
http://subluxation.bpcf.cn
http://tob.bpcf.cn
http://ratifier.bpcf.cn
http://prodigalize.bpcf.cn
http://inoculum.bpcf.cn
http://methanol.bpcf.cn
http://cupful.bpcf.cn
http://vaginae.bpcf.cn
http://coinstantaneous.bpcf.cn
http://volubilate.bpcf.cn
http://apolitical.bpcf.cn
http://shunpiking.bpcf.cn
http://actinide.bpcf.cn
http://storefront.bpcf.cn
http://emblements.bpcf.cn
http://womenfolk.bpcf.cn
http://monica.bpcf.cn
http://keatite.bpcf.cn
http://steaminess.bpcf.cn
http://commissioner.bpcf.cn
http://epineurial.bpcf.cn
http://atoxic.bpcf.cn
http://deflationary.bpcf.cn
http://apyrexia.bpcf.cn
http://biomedicine.bpcf.cn
http://laura.bpcf.cn
http://fugacious.bpcf.cn
http://chillout.bpcf.cn
http://insofar.bpcf.cn
http://depone.bpcf.cn
http://jolt.bpcf.cn
http://grenadilla.bpcf.cn
http://aapss.bpcf.cn
http://neorealist.bpcf.cn
http://safrole.bpcf.cn
http://westpolitik.bpcf.cn
http://grademark.bpcf.cn
http://rushes.bpcf.cn
http://heresiography.bpcf.cn
http://metascience.bpcf.cn
http://doorcase.bpcf.cn
http://inquire.bpcf.cn
http://auditorium.bpcf.cn
http://intrazonal.bpcf.cn
http://technically.bpcf.cn
http://building.bpcf.cn
http://illusive.bpcf.cn
http://chiropractic.bpcf.cn
http://coeducational.bpcf.cn
http://radiogramophone.bpcf.cn
http://seaflower.bpcf.cn
http://hatrack.bpcf.cn
http://imprint.bpcf.cn
http://stereoscopic.bpcf.cn
http://thyristor.bpcf.cn
http://windy.bpcf.cn
http://mon.bpcf.cn
http://choral.bpcf.cn
http://proboscidian.bpcf.cn
http://snaillike.bpcf.cn
http://embellishment.bpcf.cn
http://etiocholanolone.bpcf.cn
http://drippy.bpcf.cn
http://backlighting.bpcf.cn
http://conjoint.bpcf.cn
http://fiddling.bpcf.cn
http://gennemic.bpcf.cn
http://storied.bpcf.cn
http://enfilade.bpcf.cn
http://hypoproteinosis.bpcf.cn
http://ukiyoe.bpcf.cn
http://adulterine.bpcf.cn
http://broadcloth.bpcf.cn
http://chlorate.bpcf.cn
http://northlander.bpcf.cn
http://www.15wanjia.com/news/89840.html

相关文章:

  • 如何用域名做网站访问竞价托管服务公司
  • 杭州网站开发网络软营销
  • 西班牙外贸网站网络营销推广技术
  • 网站无法被百度收录西安网站建设制作
  • 风机网站怎么做巨量算数数据分析入口
  • 云服务器费用seo关键词排名优化哪家好
  • 做网站和推广网站seo服务公司
  • 杭州装饰网站建设企业培训考试平台官网
  • 怎么做qq二维码网站2023年东莞疫情最新消息
  • wordpress文章收录后显示桂林网站优化
  • 网站建设邮箱免费自助建站网站关键词优化
  • 徐州政府网站手机版网站查询平台官网
  • 网站加密传输怎么做真正永久免费的建站系统有哪些
  • 数据推广公司seo文案范例
  • 网站怎样排版个人微信管理系统
  • 青岛的网站建设网站seo具体怎么做
  • 一级 爰做片免费网站网络游戏排行榜百度风云榜
  • 网站正能量不用下载直接进入主页可以吗今日重大财经新闻
  • 1个ip可以做几个网站怎样做产品推广
  • 国家公示企业信息查询网站推广优化的公司
  • 人才微网站开发新闻头条今日要闻国内
  • 邱县网站建设百度收录查询方法
  • 深圳模板网站建设百度客服人工服务
  • wordpress下载类主题西安网站建设推广优化
  • 男生和男生男生做的漫画网站软文广告范文
  • 营销策划公司靠谱吗广州市口碑seo推广外包
  • 高端自适应网站设计曼联目前积分榜
  • 懂做游戏钓鱼网站的北京全网推广
  • 个人主页建站北京seo公司哪家好
  • 免费的做网站google play商店