Python中文
首页
教程
问答
标签
搜索
登录
注册
python中的快速排序和递归
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我尝试用Python中的两个主要函数实现快速排序:分区和快速排序。 分区函数被设计成返回两个数组——比p大和小。 在那之后,快速排序将分别对它们两个调用。 所以快速排序是这样的:</p> <pre><code>def quicksort(array) pivot = 0 # pivot choice is irrelevant left,right = partition(array,pivot) quicksort(left) quicksoft(right) return left+right </code></pre> <p>但根据我的理解,应该可以将分区设计为只返回一个单独的索引—划分大小数组并重新设计快速排序,如下所示:</p> ^{pr2}$ <p>但是这个实现返回部分排序的数组</p> <pre><code>original array [5, 4, 2, 1, 6, 7, 3, 8, 9] sorted array [3, 4, 2, 1, 5, 7, 6, 8, 9] </code></pre> <p>我错过了什么?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我也有同样的问题,我的快速排序返回部分排序的列表。我发现问题是我没有在它自己的数组中返回轴。当我为pivot创建数组时,它允许递归正常工作。在</p> <p>例如,我的配分函数返回而不是:</p> <p>向左,向右返回</p> <p>它回来了</p> <p>返回左侧,pivotval,右侧</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
10 回答
如何添加表示整数的擦边字符串?
1 回答
如何添加要在Bokeh中使用的新font.ttf文件?
10 回答
如何添加要显示的矩阵XY轴编号和XY轴
9 回答
如何添加计数?
10 回答
如何添加计数器函数?
8 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
10 回答
如何添加计数器来跟踪while循环中的月份和年份?
5 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
10 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
5 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
1 回答
如何添加评论拉梅尔亚姆
6 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
1 回答
如何添加谷歌地点自动完成到Flask?
4 回答
如何添加超时、python discord bot
6 回答
如何添加超过1dp的检查
5 回答
如何添加距离方法
6 回答
如何添加跟随游戏的敌人精灵
10 回答
如何添加路径以便python可以找到程序?
3 回答
如何添加身份验证/安全性以使用happybase访问HBase?
9 回答