在网上搜索了一下有关三分查找时间复杂度分析的。有人说是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始终成立。所以三分查找比二分查找的性能就是差。
欢迎各位网友指正批评!