演算法中對於用七次比較完成5個元素的排序

2021-06-18 11:32:07 字數 879 閱讀 3344

一開始自己經過了好長時間的思考,都沒有完成這個問題的排序,在最終經過暗暗下定決心,終於完成了這道題目的求解,下面將我的分析思路寫下來,希望我平實的語言可以幫助你理解這個題目。

對於五個元素a,b,c,d,e的排序,我們需要借鑑3個元素排序和四個元素中對於3個元素建立全序的思想,下面我們就來看看它們的思想吧!

1.對於三個元素a,b,c進行排序,示意圖如下所示:

總共需要三次才可完成對a,b,c三個元素的排序。  

2.對於四個元素a,b,c,d排序,我們可以對於其中任意三個元素建立全序關係,示意圖如下所示:

這樣總共需要三次比較,我們就對其中的三個元素建立了全序關係。

例如:當ab比較一次較大的數為b,cd比較一次較大的數為d,那麼b與d再比較一次(總共需要三次),當b>d時,我們得到三個元素c,d,b的全序關係為c

3.當五個元素a,b,c,d,e進行排序時,我們已經知道其中三個元素的全序關係為c

__c__d__b__

e先和d比較,比較結果使得e要麼在d的右邊,要麼在d的左邊,當在d的右邊時,在和b比較,在左邊時,類似比較即可。這樣通過折半查詢總共需要比較2次即可。

例當e在d的右邊時,我們得到這樣的排序結果,要麼是c

①當c②當c

綜上所述:比較五個元素需要的次數總共為:3+2+2=7次就可以完成五個元素的排序了。

第七次作業

磁碟管理和維護 磁碟檔名 dev sd a p 1 128 dev hd a p 1 128 dev vd a p 1 128 heads 磁面 sectors track 扇區 cylinders磁柱 分割槽命令 fdisk dev sd 格式化 mkfs.ext4 dev sda mkfs.xf...

第七次試驗

include include include include include include using namespace std define maxsize 100 typedef char elemtype typedef struct sqqueue void initqueue sqq...

第七次作業

共有一下六步 1.客戶機提出網域名稱解析請求,並將該請求傳送給本地的網域名稱伺服器。2.當本地的網域名稱伺服器收到請求後,就先查詢本地的快取,如果有該紀錄項,則本地的網域名稱伺服器就直接把查詢的結果返回。3.如果本地的快取中沒有該紀錄,則本地網域名稱伺服器就直接把請求發給根網域名稱伺服器,然後根網域...