時間複雜度 最壞時間複雜度 空間複雜度 穩定性
歸併排序 nlogn nlogn n 穩定
快速排序 nlogn n^2 logn 不穩定
堆排序 nlogn nlogn 1 不穩定
希爾排序 nlogn n*s 1 不穩定
void reheap(int arr,size_t index,size_t len)
if(/*child=0;--i)
}void swap(int *ps,int *pd)
void heapsort(int arr,size_t len)
}void print(int arr,size_t len)
int mid = (left+right)/2;
if(mid-left>=1)
merger(arr,left,mid);//對[left,mid]區間進行排序
if(right-mid-1>=1)
merger(arr,mid+1,right);//對[mid+1,right]區間進行排序
mergerarr(arr,left,right);
//把[left,mid],[mid+1,right]兩部分有序的合併成乙個整體有序的
}void mergersort(int arr,size_t len)
void quick(int arr,int left,int right)
if(right-i>1)
}void quicksort(int arr,size_t len)
資料結構和演算法 第八章查詢演算法
三 二分查詢演算法 四 插值查詢演算法 五 斐波那契查詢演算法 總結資料結構和演算法 查詢演算法 1 順序 線性 查詢 按照順序比對,找到我們需要的資料 2 二分查詢 折半查詢 3 插值查詢 4 斐波那契查詢 分割查詢 線性查詢是逐一比對,發現有相同值,就返回下標 線性查詢 public stati...
資料結構 第八章 查詢目錄
資料表 資料元素的有限集合。關鍵字 資料表中資料元素一般有多個屬性域 字段 即由多個資料成員組成,其中有某些屬性域可用來區分不同的元素,它們可作為查詢或排序的依據,這些屬性域即為關鍵字。即使是同乙個表,在解決不同問題的場合也可能取不同的域作關鍵字。如果在資料表中各個元素的關鍵字互不相同,這種關鍵字稱...
考研複試 資料結構第八章
1 對各種內部排序的概括與總結?排序 是指把乙個任一元素的序列排列成乙個按關鍵字key有序的序列。內部排序包括 插入排序 選擇排序 交換排序 歸併飄絮 基數排序。其中插入排序包括 直接插入排序 折半插入排序 希爾排序 選擇排序包括 簡單選擇排序,堆排序 交換排序包括 氣泡排序 快速排序。1 直接插入...