《資料結構》 6集合和搜尋

2022-08-20 11:39:13 字數 565 閱讀 9730

適用於線性表的順序儲存結構和鏈式儲存結構。

演算法分析:

(1)搜尋成功的情況下平均搜尋長度:asl=1/n ∑(i+1)=(n+1)/2

(2)搜尋失敗的情況下平均搜尋長度為n。

演算法分析:

(1)搜尋成功的情況下:(n+1)/2

(2)搜尋失敗的情況下:n/2 +2

適用於採用順序儲存結構的有序表。

每次取的中點都是⌊(low+high)/2⌋,進行比較。

定理:對半搜尋演算法在成功搜尋的情況下,關鍵字值之間的比較次數不超過⌊log2n⌋+1。對於不成功的搜尋,演算法需要做⌊log2n⌋+1或⌊log2n⌋次比較。

【例】有序表中有80個元素,採用對半搜尋成功搜尋到某個元素,則最多比較次數為⌊log280⌋+1=6+1=7次,如果搜尋失敗了,則為6或7次比較。

定理:對半搜尋演算法在搜尋成功時的平均時間複雜度為o(log2n)

只需要記住一句話:判定樹的形態只與表結點個數n有關,與具體的數值無關。

資料結構和演算法 10 集合

集合 聯合 交叉 差異 子集 using system using system collections using system collections generic using system linq using system text using system threading tasks...

資料結構(二) 集合 字典

集合 es6 set 無序且唯一。與陣列的區別,無序可重複。leetcode 349.var arr 1,2,2,3 const set new set arr 去重 const newarr set set.add add data set.delete del data set.has 2 tr...

Redis系列 6 集合(Set)結構

集合間的操作 內部編碼 適合場景 redsi裡的集合叫set,和其他語言有一些不同。在資料結構上,集合裡的資料原則上是沒有先後的。就像去超市買了一大袋東西,袋子就是乙個集合,裡面的東西也沒什麼必然的聯絡吧?下面所有描述裡 都是必需引數,是可選引數 設定值sadd 可以新新增乙個集合並一次新增多個元素...