二分查找

   二分查找作为一个高效的查找算法(O(lgN))到处可见其身影,这里分享一点儿我的理解与体会。

   二分查找虽然高效,但局限性也很明显:

   首先,需要是连续内存;

   其次,序列应该是已经排序好的,不管从小到大或者从大到小。

   就以上两点,很多情况下都不能用二分查找。比如,我的数据可能是动态增加的,会有很多的添加操作。如果使用连续内存的话,显然会有大量的内存移动。因此,只能用链式存储。但是简单的链表存储后查找时效率又退化成O(N)。看到这里有人会说,用二叉树啊,二叉查找树效率O(lgN)。是啊,二分查找和二叉查找树的时间复杂度是一样的!我只想说,其实二叉查找树实现的就是链式的二分查找。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值