java進階篇--聊聊工作中常用的算法以及它的內部實現過程?

前面的文章中我們介紹了數據結構的知識,數據結構屬於計算機存儲的基礎,有了它才能更好地將數據進行存儲。而算法可以這樣理解:它是爲數據結構服務的,使用合適的算法可以更快地操作和查詢這些數據。

算法的內容有很多,隨隨便便一本算法書有個 700 頁到 1500 頁也是很平常的事,因此我們在這裏不能把所有的算法問題全部講到,即使專門再開設一個算法專欄,也只能挑重點的講。那麼我們好鋼就要用在刀刃上,本課時會把面試中經常出現的和平常工作中使用頻率最高的算法,拿出來給大家分享。

我們本課時的面試題是,你知道哪些算法?講一下它的內部實現?

回答:

最常見、最基礎的算法是二分法,它是二分查找算法的簡稱(Binary Search Algorithm),也叫折半搜索算法或對數搜索算法。它是一種在有序數組中查找某一特定元素的搜索算法,顧名思義,是將一組有序元素中的數據劃分爲兩組,通過判斷中間值來確認要查找值的大致位置,然後重複此過程進行元素查詢。

例如,我們要查詢 1~100 中的某個數值,比如我們要查詢的數值爲 75,如果按照順序從 1 開始一直往後排序對比的話,需要經歷 75 次,才能查詢到我們想要的數據;而如果使用二分法,則會先判斷 50(1~100 的中間值)和 75 哪個大,然後就能確定要查詢的值是在 50~100 之間,最後再進行二分,用 75 和 75 進行比較,結果發現此值就是我們想要找的那個值,於是我們只用了兩步就找到了要查詢的值,這就是算法的“魔力”。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章