折半查詢法快還是順序查詢快

時間 2021-07-12 17:40:30

1樓:歲月哪曾斑駁

不能籠統的說那個演算法一定就好,演算法分析要看條件和模型。

折半演算法要求待查區域資料是已經排好序的,但是順序查詢沒這個要求。

演算法時間分析要看平均情況、最壞情況、最好情況的。最好情況兩者時間一樣,因為都是比較方法查詢,都假定第一次比較就找到。最壞情況,折半查詢更優為log n次比較,而順序查詢為n次比較。

平均情況下(所有待查元素查詢概率相當),一般是折半查詢由於順序查詢(o(log n) < o(n))。

一般資料規模稍大的測試、演算法練習題,折半查詢表現都很好,常常優於順序查詢,畢竟順序查詢算不上什麼高等演算法,優化空間很小。

但是,實際的查詢操作很複雜,並不是查詢數量多了就會趨近於平均情況,而且折半查詢又要求有排序,所以仍然需要按照系統需求進行相應的數學分析和實際檢測。

2樓:科技文藝小二

因為: 折半查詢時間複雜度為o(log(n)),順序查詢為o(n).(具體匯出自己找書)所以折半法優於順序查詢。

3樓:老戴在此

這個應用的環境不一樣的,沒有什麼可以比較的

折半法必須是有序的數列才可以用

4樓:匿名使用者

要看查詢的數的位置。如果查詢的數在第一個,當然是順序查詢快了

但是就平均查詢時間複雜度來看,應屬折半查詢好。

5樓:帥天丨少羽

各有利弊吧!!!

例如在一個陣列中有10個元素。

例1:第一個是要找的元素。

折半查詢:先找第六(下標為5)個,再找第三個(下標為2),然後是第二個(下標為1),最後是第一個(下標為0)...

順序查詢:只要找一次就ok了。

例2:第10個是要找的元素。

折半查詢:先找第六(下標為5)個,再找第八個(下標為7),然後是第九個(下標為8),最後是第十個(下標為9)...

順序查詢:需要10次。

例3:第三個是要找的元素。

折半查詢:先找第六(下標為5)個,再找第三個(下標為2)順序查詢:需要三次(效率一樣)。

對比順序查詢,二分查詢和雜湊查詢演算法,它們各自的特點是什麼?

6樓:樂事疊合呼

1.對比順序查詢的特點就是從表的第一個元素開始一個一個向下查詢,如果有和目標一致的元素,查詢成功;如果到最後一個元素仍沒有目標元素,則查詢失敗。

2.二分查詢的特點就是從表中間開始查詢目標元素。如果找到一致元素,則查詢成功。

如果中間元素比目標元素小,則仍用二分查詢方法查詢表的後半部分(表是遞增排列的),反之中間元素比目標元素大,則查詢表的前半部分。

3.雜湊演算法的特點是是使用給定資料構造雜湊表,然後在雜湊表上進行查詢的一種演算法。先給定一個值,然後根據雜湊函式求得雜湊地址,再根據雜湊地址查詢到要找的元素。

是通過資料元素的儲存地址進行查詢的一種演算法。

7樓:我的賬號很強大

1.對比順序查詢就是順序的一個一個的比下去..1和2、1 和3、1和4...1和n

2.二分查詢就是先和最中間的元素比較 大於此元素時將起始下標設定為此元素下表 繼續和右邊的中間元素比較,直到查詢成功位置 相反小於則和左邊的比較(預設陣列一從小到大排序完整)

3.雜湊演算法是將任意長度的二進位制值對映為固定長度的較小二進位制值,這個小的二進雜湊函式是一個數學方程式,它可用文字(如電子郵件資訊)來生成稱為資訊摘要的**。著名的雜湊函式如:

md4,md5,shs。

單號查詢468358332284是哪家快遞公司的

468358332284跟蹤記錄 2012 03 15 19 49 33 由上海閔行公司 發往 上海航空部 2012 03 15 19 50 10 上海閔行公司 正在進行 裝袋 掃描 2012 03 15 19 50 10 由上海閔行公司 發往上海航空部 2012 03 15 19 57 29 由上...

順丰標快單號查詢

贛州市 紅河州。順豐特惠。預計 23 59 前到達。僅供參考,具體時效以實際派送時間為準 2018 05 23 13 56快件交給普巨集偉,正在派送途中。運送中。運單動態。運單資料。優先派送。2018 05 23 星期三。13 56 40 快件交給普巨集偉,正在派送途中。13 53 50 快件到達 ...

怎樣使用快錢支付,使用快錢支付後,怎麼查詢

進入快錢支付閘道器頁面後,你可以選擇使用 銀行卡支付 或 快錢帳戶支付 在銀行卡支付流程中,按要求填寫正確的email地址,並選擇相應銀行卡 進入相應網上銀行頁面,按提示完成貨款支付操作。在快錢帳戶支付流程中,輸入快錢帳戶和驗證碼,輸入快錢帳戶的密碼,如果你的帳戶餘額充足,則完成貨款支付。如果你的帳...