#include
#include
#include
/****************==順序表的查詢********************====*/
//順序表的查詢 :平均o(n) 最好o(1) 最差o(n);
int sqsearch(int r,int n, int key)
} return
0; //沒有查詢到v
}/****************==有序表的查詢********************====*/
//交換值
void swap(int r,int i,int j)
//獲取中間位置
int partition(int r,int low, int high)
//快速排序
void quicksort(int r,int low,int high)
}//列印
void print(int r, int n)
printf("\n");
}//二分查詢 :平均o(log n) 最好o(1)
int binarysearch(int r,int n, int key)else
if(key1;
}else
}return (-1);
} int main()
}printf("順序表查詢:");
printf("%d的位置在:%3d\n\n",key,sqsearch(r,100,key));//輸出查詢結果
printf("\n先進行快速排序使記錄有序,快速排序後:\n");
quicksort(r,0,99);
print(r,100);
printf("二分查詢:");
printf("%d的位置在:%3d\n\n",key,binarysearch(r,99,key));//輸出查詢結果
常用查詢演算法
查詢是在大量的資訊中尋找乙個特定的資訊元素,在計算機應用中,查詢是常用的基本運算,例如編譯程式中符號表的查詢。用關鍵字標識乙個資料元素,查詢時根據給定的某個值,在表中確定乙個關鍵字的值等於給定值的記錄或資料元素。在計算機中進行查詢的方法是根據表中的記錄的組織結構確定的。順序查詢也稱為線形查詢,從資料...
常用查詢演算法
順序查詢是在乙個已知無 或有序 序佇列中找出與給定關鍵字相同的數的具體位置。原理是讓關鍵字與佇列中的數從第乙個開始逐個比較,直到找出與給定關鍵字相同的數為止,它的缺點是效率低下。public static int sequencesearch int array,int des return 1 二...
常用的查詢演算法
1 mid low high 2 2 當k arr mid 時,low mid 1,並重複1 當k 當k arr mid 時,找到,結束。直到low high,還沒找到那麼說明該關鍵字不存在。核心 實現 演算法步驟 1 第一步確定查詢節點在那個表中的那一塊。2 第二步在確定的塊中找到該節點。1 雜湊...