2013-01-23 76 views
0

所以我正在阅读关于在二分搜索算法中递归搜索,我看到一条线,说每一个计算,你没有找到结果,你把你正在寻找的数组切成两半并创建一个新的数组。是否真的有必要为每个计算创建一个新的数组,而不是调整您开始使用的数组的开始和结束索引?递归和二进制搜索

+2

你在哪里阅读?通常对于二进制搜索,不需要创建一个新的数组。 – Renjith

+0

有没有必要,你真的不应该这样做,否则你的空间消耗将从O(n)到〜O(n^2)(不是一个严格的限制,但你会前往那里) – tttthomasssss

+0

你可以删除旧的数组,因此您将在复制后节省空间。 – Simulant

回答

3

确定您可以调整开始和结束索引。这是实施。你正在阅读的是对算法的简单描述,如果它仍然在做这项工作,它的实现可能会有所不同。