資料結構與演算法 第八章 堆,希爾,快速,歸併

2021-09-28 20:53:43 字數 917 閱讀 2387

時間複雜度  最壞時間複雜度 空間複雜度	 穩定性

歸併排序 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 直接插入...