温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python二叉树如何实现快速排序

发布时间:2021-11-15 16:11:54 来源:亿速云 阅读:147 作者:柒染 栏目:大数据

这期内容当中小编将会给大家带来有关python二叉树如何实现快速排序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。


二叉树在我们印象中是这样的


python二叉树如何实现快速排序


快速排序在我们的印象中是这个样子的:


python二叉树如何实现快速排序

两者看起来长的不一样,结构也不一样,怎么就会扯上关系呢, 按我们一惯的思路,在想着计算机怎么做之前,我们要先用人脑想出来,然后计算机,只是模拟我们而己。


快速排序的主要思路是:选定一个数字A(一般取随机数列的每一个数字),然后把比A小的数字放到A的左边,把比A大的数字放到A的右边。然后在左边和右边再执行相应的选数字,站队的操作


拿到一个初始随机序列:

6,9,4,5,8,2,3,7,1。

我们选定一个数字,取第一个数:6。 然后现在先不想什么先右边循环,然后换位置,再左边循环然后换位置。


想象下现在手上就一张白纸,然后我们开始按快速排序的思路,先把6放中间,然后从前往后一个个看,看到比6小的就抄在6的左边,看到比6大的就抄在6的右边。第一次抄下来的结果如下图:


python二叉树如何实现快速排序

现在得到两个新的序列:[4,5,2,3,1] 和 [9,8,7] 。再把 4 和 9  分别抄在中间,再从前往后一个个看。第二次的结果如下图所示:      


 python二叉树如何实现快速排序

现在我们得到了两个总长度大于1 的序列: [2,3,1]  , [8,7] 。再把 2 和 8 分别抄在中间,再从前往后一个个看,第三次得到的结果如下图所示:      


 python二叉树如何实现快速排序

这样写完之后,是没新的序列了,就是看起来怪怪的,我们给他们加上连接线就会发现,变成了一棵二叉树:


     

 python二叉树如何实现快速排序


新的顺序

可以按二叉树的中序遍历(先左再中后右)来走一遍。

这就是二叉树和快速排序之间的关系。

上述就是小编为大家分享的python二叉树如何实现快速排序了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI