您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關python二叉樹如何實現快速排序,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
二叉樹在我們印象中是這樣的
快速排序在我們的印象中是這個樣子的:
兩者看起來長的不一樣,結構也不一樣,怎么就會扯上關系呢, 按我們一慣的思路,在想著計算機怎么做之前,我們要先用人腦想出來,然后計算機,只是模擬我們而己。
快速排序的主要思路是:選定一個數字A(一般取隨機數列的每一個數字),然后把比A小的數字放到A的左邊,把比A大的數字放到A的右邊。然后在左邊和右邊再執行相應的選數字,站隊的操作。
拿到一個初始隨機序列:
6,9,4,5,8,2,3,7,1。
我們選定一個數字,取第一個數:6。 然后現在先不想什么先右邊循環,然后換位置,再左邊循環然后換位置。
想象下現在手上就一張白紙,然后我們開始按快速排序的思路,先把6放中間,然后從前往后一個個看,看到比6小的就抄在6的左邊,看到比6大的就抄在6的右邊。第一次抄下來的結果如下圖:
這樣寫完之后,是沒新的序列了,就是看起來怪怪的,我們給他們加上連接線就會發現,變成了一棵二叉樹:
新的順序
可以按二叉樹的中序遍歷(先左再中后右)來走一遍。
這就是二叉樹和快速排序之間的關系。
上述就是小編為大家分享的python二叉樹如何實現快速排序了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。