2013-01-23 75 views
0

所以我正在閱讀關於在二分搜索算法中遞歸搜索,我看到一條線,說每一個計算,你沒有找到結果,你把你正在尋找的數組切成兩半並創建一個新的數組。是否真的有必要爲每個計算創建一個新的數組,而不是調整您開始使用的數組的開始和結束索引?遞歸和二進制搜索

+2

你在哪裏閱讀?通常對於二進制搜索,不需要創建一個新的數組。 – Renjith

+0

有沒有必要,你真的不應該這樣做,否則你的空間消耗將從O(n)到〜O(n^2)(不是一個嚴格的限制,但你會前往那裏) – tttthomasssss

+0

你可以刪除舊的數組,因此您將在複製後節省空間。 – Simulant

回答

3

確定您可以調整開始和結束索引。這是實施。你正在閱讀的是對算法的簡單描述,如果它仍然在做這項工作,它的實現可能會有所不同。