資料結構與演算法 查詢演算法

2022-09-16 10:00:13 字數 1205 閱讀 5833

第二章 查詢和排序演算法

課時1:列表查詢

1、列表查詢的含義:從物件中查詢某乙個特定的元素

2、列表查詢的方式包含兩種:順序查詢和二分查詢

3、順序查詢演算法:從開始一直搜尋到最後乙個元素進行查詢,for迴圈,時間複雜度為o(n);

4、二分查詢針對有效的列表直接進行首尾二分查詢,不斷使得候選區減半,所以其時間複雜度為o(logn)

4、二分查詢只針對排序有序的列表查詢有效高速,順序查詢針對任何列表;

5、由於二分查詢演算法一般都需要進行排序,而排序演算法的時間複雜度一般大於o(n),高於順序查詢;所以在內建的函式index中採用的依舊是順序查表;

#匯入函式執行時間測試函式

from cal_time import *

#查詢演算法

#順序查詢/線性查詢演算法的含義

@cal_time

def linear_search(l,v):

for i in range(len(l)):

if l[i]==v:

return i

#二分查詢演算法(有序的排列列表之下使用二分法)

資料結構與演算法 查詢演算法

1.線性查詢,從頭到尾去遍歷,找到符合的則返回 2.二分法查詢 前提 目標陣列有序 package math public class dichotomy int k new dichotomy show arr,8 system.out.println k public int show int ...

資料結構與演算法(查詢)

1 查詢表 用於查詢的資料集合,由同一型別的資料元素組成,經常進行的操作 2 靜態查詢表 無需動態修改查詢表的操作,都是靜態查詢表。適合的查詢方法有順序查詢 折半查詢 雜湊查詢。3 動態查詢表 需要動態插入或刪除的操作。適合的查詢方法有二叉排序樹查詢 雜湊查詢。4 關鍵字 資料元素中唯一表示該元素的...

資料結構與演算法 演算法 演算法和資料結構

資料結構與演算法 演算法 好吧,在這裡,您被優秀或優秀的軟體開發人員所隔開。在這種情況下,我會告訴您一開始或至少在我的情況下,並且我知道大多數時候,對於我認識的大多數人,您會覺得自己是乙個無能的人或白痴。基本上,我怎麼可能不理解這一點,然後您會感到沮喪。在這種情況下,我會告訴您情況並不像您想的那麼糟...