国药股份和国药一致:2.12 算法空间复杂度
来源:百度文库 编辑:中财网 时间:2024/05/06 04:52:10
2.12 算法空间复杂度
我们在写代码时,完全可以用空间来换取时间,比如说,要判断某某年是不是闰年,你可能会花一点心思写了一个算法,而且由于是一个算法,也就意味着,每次给一个年份,都是要通过计算得到是否是闰年的结果。还有另一个办法就是,事先建立一个有2 050个元素的数组(年数略比现实多一点),然后把所有的年份按下标的数字对应,如果是闰年,此数组项的值就是1,如果不是值为0。这样,所谓的判断某一年是否是闰年,就变成了查找这个数组的某一项的值是多少的问题。此时,我们的运算是最小化了,但是硬盘上或者内存中需要存储这2050个0和1。
这是通过一笔空间上的开销来换取计算时间的小技巧。到底哪一个好,其实要看你用在什么地方。
算法的空间复杂度通过计算算法所需的存储空间实现,算法空间复杂度的计算公式记作:S(n)= O(f(n)),其中,n为问题的规模,f(n)为语句关于n所占存储空间的函数。
一般情况下,一个程序在机器上执行时,除了需要存储程序本身的指令、常数、变量和输入数据外,还需要存储对数据操作的存储单元。若输入数据所占空间只取决于问题本身,和算法无关,这样只需要分析该算法在实现时所需的辅助单元即可。若算法执行时所需的辅助空间相对于输入数据量而言是个常数,则称此算法为原地工作,空间复杂度为O(1)。
通常,我们都使用“时间复杂度”来指运行时间的需求,使用“空间复杂度”指空间需求。当不用限定词地使用“复杂度”时,通常都是指时间复杂度。显然我们这本书重点要讲的还是算法的时间复杂度的问题。
谁知道空间复杂度为o(1)的归并排序算法?
算法时间复杂度
计算算法复杂度
什么是算法复杂度
有关算法的时间复杂度
算法复杂度的概念和意义是什么
算法的基本概念是什么,算法复杂度的概念和意义
算法时间复杂度中,逻辑运算与数学运算的比较
请问gcd算法求最大公约数的时间复杂度是多少
描述算法复杂度的W和O有什么区别
请问什么叫时间和空间复杂度?
百度知道的“相关问题”的聚类算法是什么,复杂度为多少?
指出下面算法的时间复杂度?(用大O表示法)
网站计算空间大小算法
我想考计算机二级笔试题,可不知算法和算法复杂度的概念在哪里能找到.您能推荐几本书吗?
已知三个2D点p1,p2,p3,写出算法判断点p1是否出于p1,p2,p3所形成的三角形内部,写思路,考虑算法复杂度
求一个算法把n个数中的第k大的数求出来,要求时间复杂度为O(n)
人生的复杂度?
数据结构时间复杂度问题
时间复杂度问题
分析时间复杂度
分析时间复杂度
分析时间复杂度
计算时间复杂度