假設一個人有一個非常大的項目組合,并以某種有序的方式排列在一個長行中。這個人可以通過使用二進制搜索快速地找出一個特定對象在行中的位置。這種搜索是通過檢查行中的中間項來完成的,如果中間的對象不是所要查找的項...
假設一個人有一個非常大的項目組合,并以某種有序的方式排列在一個長行中。這個人可以通過使用二進制搜索快速地找出一個特定對象在行中的位置。這種搜索是通過檢查行中的中間項來完成的,如果中間的對象不是所要查找的項,此后,只需查看行中項目所在的一部分。由于項目是按順序排列的,因此該人員會知道該繼續查找哪一半。這兩個步驟一遍又一遍地在越來越小的一半上執行,直到找到項目或找不到地方可看在一個科學的步驟中,一個搜索的步驟是在一個科學的步驟中,按順序找到一個索引項集在計算機科學領域,二元搜索是一個循序漸進的過程,它通過將已知值與數組中指定的中間元素進行比較來實現這一點,如果它不是等價的,反復地將中間元素的比較限制到集合的較小的相應的一半,直到得到等價物或列表用盡為止。一種二進制搜索,有時稱為半間隔搜索,比基本的順序搜索快得多,后者從項目列表的一端開始,一路比較每個項目,直到找到匹配項或搜索到列表的末尾如果一個人在一行中有100個項目,而最后一個項目是正在查找的項目,則順序搜索將需要100個比較。然而,對分方法最多只需要進行7次比較就可以找到項目,顯然比順序搜索的效率要高得多二進制搜索的最大缺點是必須對項目列表進行排序才能進行此搜索。排序列表需要時間。排序然后使用此類型的搜索可能比首先執行其他類型的搜索花費更多的時間能夠使用信息,特別是來自非常大的數據集,對于完成生活中的許多任務是很重要的。計算機科學的學科涉及許多類型的問題,包括尋找有效的方法來搜索信息,從而獲得有用的結果二進制搜索只是搜索數據的許多算法中的一種
-
發表于 2020-07-31 12:42
- 閱讀 ( 797 )
- 分類:電腦網絡