三分查找的时间复杂度分析
2012-06-18 22:20
218 查看
在网上搜索了一下有关三分查找时间复杂度分析的。有人说是O(3log3(n)),但是实验中三分比二分更耗时,所以他们就认为不能迷信时间复杂度。我现在纠正一下(仅个人分析,供网友参考):
1.二分查找的时间复杂度:因为每次都是折半,可以构造一颗递归树,共log2(n)层,每层只需O(1)的时间。所以共花费O(1)*log2(n)=O(log2(n))时间。
2.而三分查找,也可类似构造一个递归树,共log3(n)层,而每层需要比较的次数为2,所以时间复杂度为
O(2log3(n))。
求得使 2log3(n)>log2(n) 对n>0始终成立。所以三分查找比二分查找的性能就是差。
欢迎各位网友指正批评!
1.二分查找的时间复杂度:因为每次都是折半,可以构造一颗递归树,共log2(n)层,每层只需O(1)的时间。所以共花费O(1)*log2(n)=O(log2(n))时间。
2.而三分查找,也可类似构造一个递归树,共log3(n)层,而每层需要比较的次数为2,所以时间复杂度为
O(2log3(n))。
求得使 2log3(n)>log2(n) 对n>0始终成立。所以三分查找比二分查找的性能就是差。
欢迎各位网友指正批评!
相关文章推荐
- c语言实现线性表的建立,初始化,插入,删除,查找,遍历以及时间复杂度分析
- 从顺序查找窥探平均时间复杂度分析的一般化方法
- 二分查找时间复杂度分析
- 二分查找时间复杂度分析
- 二分查找时间复杂度计算与分析
- 归并排序实现及时间复杂度分析
- 分析时间复杂度&空间复杂度,以二分查找和斐波那契数的递归和非递归算法为例
- 算法 插入排序 的 JS实现及时间复杂度分析
- ACM算法-时间复杂度分析(6.相关练习exercise)
- 递归函数时间复杂度分析
- 二分查找算法,斐波那契数列的递归及非递归。(分析时间复杂度及空间复杂度)
- 输入一个数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字 时间复杂度O(NlogN) 空间复杂度O(1)
- 请问对一个排好序的数组进行查找,时间复杂度为()
- 快速排序算法的时间复杂度分析[详解Master method]
- 快速排序算法及时间复杂度分析(原地in-place分区版本)
- 有一个二维数组.----杨氏矩阵 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);
- 轮廓问题/Outline Problem-->改进的算法及时间复杂度分析
- 时间复杂度分析
- 算法的时间复杂度分析
- 查找栈中最小元素,时间复杂度为0