《資料結構與演算法C 語言描述》筆記4 基礎查詢演算法

2021-06-10 00:40:25 字數 794 閱讀 7276

集合無序狀態下進行順次查詢。

在資料集合上80%的查詢操作都是為了查詢資料集合20%的資料。這樣的概率分布,被稱為帕累託(pareto)分布。

自組織將最終把20%的資料集放在資料集合的開始部分,這樣順序查詢可以快速找到。

基於「80-20」法則,有兩種方法實現加快查詢。

static

void swap(reft item1,ref t item2)

1.位置在前20%外的目標元素和第乙個元素進行位置交換

intfindvalue=64;

for(int i = 0; i < a.length; i++)}}

2.目標元素位置提前乙個

for(int i = 0; i < a.length; i++)}}

有序排列的集合,始終判斷中間點數值的大、小、等於。

遞迴演算法始終比迭代演算法慢。

findindex = recursionrbinsearch(a,37,0,a.length-1);

intrecursionrbinsearch(int a,int value, int lower,int upper)

else

else

if (value < a[mid])

else }

}

public

static

intbinarysearch(t array, t value);

例:intfindindex = array.binarysearch(a, 4);

資料結構與演算法分析 C語言描述

第一種方法,先進行排序,再返回位置k上的元素。簡單排序問題 第二種方法,先將前k個元素讀入,再將剩下的元素逐個讀入,如果新元素大於陣列中第k個元素就找到他合適的位置並將陣列中的乙個元素擠出。第三種方法,利用快排的特點 假設預設公升序排序 每一次快排操作都能確定乙個數在排序結果中的最終固定位置,即該位...

資料結構與演算法分析 c 語言描述

編寫帶有下列宣告的兩個例程 void permute string str void permute char str,int low,int high 第乙個例程是個驅動程式,它呼叫第二個例程並顯示string str中字元的所有排列。例如,str是 abc 那麼輸出的串則是abc,acb,bac...

《資料結構與演算法分析(C 語言描述)》

第1章 uml教程 更多軟體恐怖故事 nist新聞稿 軟體錯誤每年給美國經濟造成595億美元的損失 nist報告本身 pdf 第2章 ieee對實數的反感 c 的按位運算子 第3章 工會 記憶體結構 第5章模式匹配 資料加密 第9章用位集實現集 有關valarrays的更多資訊 第10章 用於解析表...