這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)python二叉樹如何實(shí)現(xiàn)快速排序,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)賓陽(yáng)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
二叉樹在我們印象中是這樣的
快速排序在我們的印象中是這個(gè)樣子的:
兩者看起來長(zhǎng)的不一樣,結(jié)構(gòu)也不一樣,怎么就會(huì)扯上關(guān)系呢, 按我們一慣的思路,在想著計(jì)算機(jī)怎么做之前,我們要先用人腦想出來,然后計(jì)算機(jī),只是模擬我們而己。
快速排序的主要思路是:選定一個(gè)數(shù)字A(一般取隨機(jī)數(shù)列的每一個(gè)數(shù)字),然后把比A小的數(shù)字放到A的左邊,把比A大的數(shù)字放到A的右邊。然后在左邊和右邊再執(zhí)行相應(yīng)的選數(shù)字,站隊(duì)的操作。
拿到一個(gè)初始隨機(jī)序列:
6,9,4,5,8,2,3,7,1。
我們選定一個(gè)數(shù)字,取第一個(gè)數(shù):6。 然后現(xiàn)在先不想什么先右邊循環(huán),然后換位置,再左邊循環(huán)然后換位置。
想象下現(xiàn)在手上就一張白紙,然后我們開始按快速排序的思路,先把6放中間,然后從前往后一個(gè)個(gè)看,看到比6小的就抄在6的左邊,看到比6大的就抄在6的右邊。第一次抄下來的結(jié)果如下圖:
這樣寫完之后,是沒新的序列了,就是看起來怪怪的,我們給他們加上連接線就會(huì)發(fā)現(xiàn),變成了一棵二叉樹:
新的順序
可以按二叉樹的中序遍歷(先左再中后右)來走一遍。
這就是二叉樹和快速排序之間的關(guān)系。
上述就是小編為大家分享的python二叉樹如何實(shí)現(xiàn)快速排序了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。