为什么该程序段的时间复杂度O(1)为O(n^{1/2}),{i=0;s=0;while(s<=n){i++;s=s+i;}}

元素无放入顺序,元素不可重复(

注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)


算法时间复杂度的表示法O(n?)、O(n)、O(1)、O(nlogn)简单理解: 就是变量为n的时候,算法需要对变量操作次数的量级。
   简单说O(n?)表示当n很大的时候,复杂度约等于Cn?,C是某个常数,简单说就是当n足够大的时候,n的线性增长,复杂度将沿平方增长。
   O(n)也是差不多的意思,也就是说n很大的时候复杂度约等于Cn,C是某个常数。
   O(1)就是说n很大的时候,复杂度基本就不增长了,基本就是个常量C。
要找到一个数组里面最大的一个数,你要把n个变量都扫描一遍,操作次数为n,那么算法复杂度是O(n).
用冒泡排序排一个数组,对于n个变量的数组,需要交换变量位置n^2 次,那么算法复杂度就是O(n^2 ).
有时候,如果对变量操作的次数是个多项式比如n^4+n^2+n, 就取数量级最大的那个,O(n^4)

本书中的解释,网上扒拉了一张图:


时间复杂度这个东西,其实更准确点说应该是描述一个算法在问题规模不断增大时对应的时

间增长曲线。所以,这些增长数量级并不是一个准确的性能评价,可以理解为一个近似值,时间的增长近似于logN、NlogN的曲线。


元素铬(Cr)在溶液中主要以Cr3+(蓝紫色)Cr(OH)4?(绿色)Cr2O72?(橙红色)CrO42?(黄色)等形式存在,Cr(OH)3为难溶于水的灰蓝色固体,回答下列问题:

1Cr3+Al3+的化学性质相似,在Cr2(SO4)3溶液中逐滴加入NaOH溶液直至过

2CrO42?Cr2O72?在溶液中可相互转化。室温下,初始浓度为1.0

③升高温度,溶液中CrO42?的平衡转化率减小,则该反应的ΔH_______0(

”“小于等于”)

我要回帖

更多关于 时间复杂度O(1) 的文章

 

随机推荐