人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Python 選擇排序中的樹形選擇排序

發(fā)布日期:2021-12-10 01:13 | 文章來源:站長之家

1、引言

選擇排序里面主要講了三個排序,分別是簡單選擇排序、樹形選擇排序、堆排序。今天這篇文章主要講樹形選擇排序,樹形選擇排序也被稱為錦標賽排序,樹形選擇排序運用了錦標賽的思想進行排序,樹形選擇排序是指首先對n個記錄的關(guān)鍵字進行兩兩比較,然后在n/2個較小者之間再進行兩兩比較,如此重復(fù),直至選出最小的記錄為止。

2、問題描述

給定一個序列,我們將如何用樹形選擇排序來將它排序呢,下面將結(jié)合圖形和文字一起講述。

示例1:對數(shù)據(jù)表A=(73,45,79,90,81,75,94,97)進行排序

輸出:45 73 75 79 81 90 94 97

3、解決方案

數(shù)據(jù)表A是亂序的,現(xiàn)在需要將它按照從小到大的順序排序好,根據(jù)樹形選擇排序的思想首先需要將比較的記錄全部作為葉子,然后按照從左到右的順序,兩兩進行比較,選出最小的那個,然后將比較后的n/2個元素又按照從左到右的順序兩兩進行比較,選出最小的,一直重復(fù)這樣操作后,會從底向上形成一個完全二叉樹??赡茏x完這段文字還是不好理解,下面我將用圖示來具體描述。

1.構(gòu)建二叉樹:圖1是數(shù)據(jù)表A構(gòu)成的二叉樹,首先直接將數(shù)據(jù)表A的數(shù)據(jù)直接放在最下面,也就是二叉樹的葉子;然后從左到右兩兩進行比較,例如73和45比較后選出最小的45,79和90比較后選出最小的79,將選出的45和79比較選出最小的45,一直這樣重復(fù)操作,直到構(gòu)成一個完整的二叉樹。

2. 如何輸出正確順序:根據(jù)圖1可以知道根節(jié)點是45,也就是最小的。圖2就是把第一遍找出來的45用無窮符號代替,然后又兩兩比較,直到根節(jié)點變?yōu)樽钚〉?,通過圖1和圖2對比可以看出第一遍找到的最小的是45,第二遍是73,,現(xiàn)在又將找出來的73用無窮符號代替,又重復(fù)上面的操作,直到對所有數(shù)據(jù)排完序。如下圖所示

4、結(jié)語

樹形選擇排序還是比較好理解,圖和文字結(jié)合就比較容易結(jié)合。

到此這篇關(guān)于Python 選擇排序中的樹形選擇排序的文章就介紹到這了,更多相關(guān)Python 樹形選擇排序內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部