Presentation is loading. Please wait.

Presentation is loading. Please wait.

JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.

Similar presentations


Presentation on theme: "JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case."— Presentation transcript:

1 JAVA 程式設計與資料結構 第二十章 Searching

2 Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case 演算速度為,因 為必須要比較 n 次。 如果一個 file 內的 records 是根據某一個 key 排序好的, 那麼在某些方面的搜尋顯然會加快速度。 好比說 records 根據日期排序,那麼如果我們想要找 出某一段時間內的資料,那麼只要找到起始的時間, 然後一直到結束的時間之間便都是我們要尋找的資 料,而且搜尋便可在此停止。

3 Binary Search 當我們在搜尋一個排序好的 file 時,可先 搜尋中間的物件,如果欲搜尋的 key 小於 中間物件的 key ,那麼便將 Array 分為前 後兩段,然後以相同的方式開始搜尋前 面一段(反之則搜尋後面一段),使用 相同的步驟直到找到欲尋找的物件(或 是確定該物件不存在此 file ),如此可得 到的演算速度。

4 What to use? 將一個 file 排序好然後使 用 Binary Search 與一個 未排序的 file 使用 Sequential Search 相比 較,那樣作法會較快呢? 答案視欲搜尋的資料個 數而定。 亦即 Sort + Binary Search < Sequential Search? 假設有 n = 64 ,那麼 s 至 少為多少才會讓 Sort + Binary Search 的速度快 於 Sequential Search ?可 得到: 也就是說至少要搜尋 7 次 才顯出其搜尋快速的功效。


Download ppt "JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case."

Similar presentations


Ads by Google