freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)報告—各種排序算法的比較-wenkub.com

2025-07-18 12:23 本頁面
   

【正文】 } } } system(pause)。 (table)。 break。: cout\n███████您選擇的是堆排序███████\nendl。 system(pause)。539。 break。 case 39。 ()。 break。: cout\n███████您選擇的是折半插入排序███████\nendl。 system(pause)。139。in。 cinn。amp。} int n,number。039。 cout██████████████████████████████████████endl。cout 1 直接插入排序 2 折半插入排序 endl。}int main()//主函數(shù){ int c=1。len*=2。 } }}template class typevoid sortlisttype::mergesort(sortlisttype amp。 for(int t=0。 else//若只有最后一個子序列 for(int j=i。mergedtable,const int len){ int i=0。q=right。} if(i=mid) for(int p=k,q=i。k++。//指針初始化//i是前一段的當(dāng)前元素位置,j是后一段的當(dāng)前元素位置,k是輔助數(shù)組的當(dāng)前位置 while(i=midamp。 currentsize=tablesize。ttablesize。//堆頂元素和最后一個元素交換 currentsize。i) filterdown(i)。 } } arr[i]=temp。//在兩個孩子中選關(guān)鍵字較大者 if(temp=arr[j])break。 type temp=arr[i]。 quicksort(low,i1)。 for(int t=0。 if(ij){swap(arr[i],arr[j])。i++。//取區(qū)間第一個位置為基準(zhǔn)位置 if(ij) { while(ij) { while(ijamp。 coutendl。 cout第++num趟排序結(jié)果為:。 for(int j=i+1。}template class typevoid sortlisttype::selectsort()//簡單選擇排序{ int k。tcurrentsize。//相鄰元素交換位置 finish=0。!finish) { finish=1。}template class type//冒泡排序void sortlisttype:: bubblesort(){ int i=1。tcurrentsize。k)//向后移動 arr[k+1]=arr[k]。 if(temparr[mid])right=mid1。i++) { left=0。}template class type//折半插入排序void sortlisttype::binaryinsertsort(){ type temp。tcurrentsize。j。j=i1。 int j。sourcetable,sortlisttypeamp。//建立最大堆 void mergepass(sortlisttypeamp。//簡單選擇排序 void heapsort()。//冒泡排序 void quicksort(int low,int high)。y)//數(shù)據(jù)元素x和y交換位置 {type temp=x。} void insert(int i,type x){arr[i]=x。//數(shù)據(jù)表中數(shù)據(jù)元素的個數(shù)public: type *arr。const int maxsize=100。從總體上說,整個代碼的實現(xiàn)還是存在不足的,例如本程序不能判斷字符數(shù)大于1的字符串,沒有相應(yīng)排序的性能分析(如空間復(fù)雜度,時間復(fù)雜度),等等。首先先說一下基本的。 2空間復(fù)雜度為O(n)。 e. 快速排序(不穩(wěn)定的排序方法)最好情況(每次總是選到中間值作樞軸)T(n)=O(nlog2n)最壞情況(每次總是選到最小或最大元素作樞軸)T(n)=O(n178。}三、 上機結(jié)果及體會:a. 程序的性能分析,時空分析:直接插入排序(穩(wěn)定的排序方法)1時間復(fù)雜度a)若待排序記錄按關(guān)鍵字從小到大排列(正序)關(guān)鍵字比較次數(shù):記錄移動次數(shù):2(n1)b)若待排序記錄按關(guān)鍵字從大到小排列(逆序)關(guān)鍵字比較次數(shù):記錄移動次數(shù): c) 若待排序記錄是隨機的,取最好和最壞情況的平均值 關(guān)鍵字比較次數(shù)(約為):記錄移動次數(shù)(約為):2空間復(fù)雜度:S(n)=O(1)b. 折半插入排序(穩(wěn)定的排序算法)就平均性能而言,因為折半查找優(yōu)于順序查找,所以折半插入排序也優(yōu)于直接插入排序。 system(pause)。739。 break。 case 39。 (0,n1)。 break。: cout\n███████您選擇的是簡單選擇排序███████\nendl。 system(pause)。339。 break。 case 39。 ()。(i,number)。 sortlistinttable(n)。739。039。system(pause)。 cinch。cout 5 快速排序 6 堆排序 endl。 int n1=0。len*=2。 int len=1。t++) cout[t] 。j++) [j]=[j]。 i+=2*len。//把后一段復(fù)制到mergedtable}一趟歸并算法template class typetemplate class typevoid sortlisttype::mergepass(sortlisttypeamp。p++,q++) [p]=[q]。j++。j=right) if([i]=[j]) {[k]=[i]。sourcetable,sortlisttypeamp。 coutendl。//重建最大堆 cout第++num趟排序結(jié)果為:。i=1。 for(int i=(currentsize2)/2。i=j。amp。//在右子區(qū)間遞歸進行快速排序 } } g 堆排序 (1)建立最大堆的偽代碼如下:template class type//建立最大堆void sortlisttype::filterdown(const int start){//向下調(diào)整使從start開始到currentsize1為止的子表成為最大堆 int i=start,j=2*i+1。t++) coutarr[t] 。} } arr[i]=temp。amp。temparr[j])j。} f 快速排序:template class type//快速排序void sortlisttype::quicksort(int low,int high)//在待排
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1