首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

高手一个时间复杂度的有关问题

2012-02-26 
请教各位高手一个时间复杂度的问题一般算法的时间复杂度有:常数0(1)、对数阶0(log2n)、线形阶0(n)、线形对数

请教各位高手一个时间复杂度的问题
一般算法的时间复杂度有:常数0(1)、对数阶0(log2n)、线形阶0(n)、线形对数阶0(nlog2n)、平方阶0(n2)立方阶0(n3)、…、k次方阶0(nk)、指数阶0(2n)。
我觉得有点奇怪的是象对数阶,线性对数阶,是怎么求出来的?那位老大能给个算法或者代码的例子看看啊

[解决办法]
比如AVL树查找算法,时间复杂度式0(log2n)

根据定义,n个结点的AVL树的深度最大不会超过log2n,所以在这样一个AVL树中查找一个结点,最坏的情况是查找到最深的的叶子上,但是该叶子的深度(距离根结点的距离)不会超过log2n,所以最坏的情况是遍历log2n次,最后查找的目标
[解决办法]
对数:二分查找

热点排行