二分查找法和折半查找法 二分查找和折半查找一樣嗎?
二分查找和折半查找一樣嗎?二分查找算法是一種快速的查找算法。當我們再一個數(shù)組中查找是否存在某個數(shù)時,通常是直接遍歷這個數(shù)組直到找到這個數(shù),時間復(fù)雜度為O(n)試想如果數(shù)據(jù)量很大,這里可以用一種簡單快速
二分查找和折半查找一樣嗎?
二分查找算法是一種快速的查找算法。當我們再一個數(shù)組中查找是否存在某個數(shù)時,通常是直接遍歷這個數(shù)組直到找到這個數(shù),時間復(fù)雜度為O(n)試想如果數(shù)據(jù)量很大,這里可以用一種簡單快速的的查找算法--二分查找算法,也叫做折半查找算法。
為什么二分查找很重要?
因為二分查找可以很有效的縮短查找時間,提高查找效率,非常實用的方法
簡述順序查找和二分查找的基本思想?
順序查找的基本思想:
就是遍歷整個列表,逐個進行記錄的關(guān)鍵字與給定值比較,若某個記錄的關(guān)鍵字和給定值相等,則查找成功,找到所查的記錄。如果直到最后一個記錄,其關(guān)鍵字和給定值比較都不等時,則表中沒有所查的記錄,查找失敗。
二分查找的基本思想是:
在有序表中,取中間記錄作為比較對象,若給定值與中間記錄的關(guān)鍵字相等,則查找成功;若給定值小于中間記錄的關(guān)鍵字,則在中間記錄的左半?yún)^(qū)繼續(xù)查找;若給定值大于中間記錄的關(guān)鍵字,則在中間記錄的右半?yún)^(qū)繼續(xù)查找。不斷重復(fù)上述過程,直到找到為止。