Python 板


LINE

版上各位前辈好, 小弟是入门者,最近教授出题要写qsort, 概念是对list选取一pivot, 比他小的都放左边,大的放右边, 如此重复,直到完整排序。 我的写法如下图: http://i.imgur.com/PyV2XzW.jpg 最後return的时候不知道该怎麽让递回关系在达到排序完毕时停止,不知道要怎麽设条件, 应该说有想到用len=1做停止条件, 但不知道该放在哪里, 资质驽钝,还请各位多多指教包涵。 上网查别人写好的都需要定义很多函式再互相呼叫,还是那才是唯一解呢? 2018/4/16 21:00 感谢各位的回覆 终於开窍了 http://i.imgur.com/sKZFl2f.jpg ----- Sent from my ASUSSSSSSSSSSSSS . 作者: gvi86113 (欧派king) 看板: Python 标题: [问题] Quick Sort陷入无穷递回 时间: Sun Apr 15 15:25:33 2018 版上各位前辈好, 小弟是入门者,最近教授出题要写qsort, 概念是对list选取一pivot, 比他小的都放左边,大的放右边, 如此重复,直到完整排序。 我的写法如下图: http://i.imgur.com/PyV2XzW.jpg 最後return的时候不知道该怎麽让递回关系在达到排序完毕时停止,不知道要怎麽设条件, 应该说有想到用len=1做停止条件, 但不知道该放在哪里, 资质驽钝,还请各位多多指教包涵。 上网查别人写好的都需要定义很多函式再互相呼叫,还是那才是唯一解呢? ----- Sent from my ASUSSSSSSSSSSSSS . --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.204.97.162
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1523777136.A.97B.html ※ 编辑: gvi86113 (180.204.97.162), 04/15/2018 15:28:52 ※ 编辑: gvi86113 (180.204.97.162), 04/15/2018 15:46:41 ※ 编辑: gvi86113 (180.204.97.162), 04/15/2018 15:48:05
1F:推 hadoop: list长度为 1 的时候终止递回 04/15 16:09
我有想到用len(less_lst) = 1做条件,但没想到应该要放在哪里 ※ 编辑: gvi86113 (180.204.97.162), 04/15/2018 16:28:04
2F:→ djshen: 想想看长度1代表什麽 04/15 16:29
我知道长度=1时,代表已经分割到结果了,可是如果要把条件设进去的话,我反而不知道怎麽再次叫出递回了,资质驽钝还请多包涵 QQ
3F:推 hadoop: 放在第一行,直接 return 长度 1 的list 04/15 16:38
设条件之後反而不太清楚递回该放在哪里了,目前写这样连自己都觉得不合理 http://i.imgur.com/9oCMBkr.jpg ※ 编辑: gvi86113 (180.204.97.162), 04/15/2018 16:52:52 ※ 编辑: gvi86113 (180.204.97.162), 04/15/2018 16:53:55 ※ 编辑: gvi86113 (180.204.97.162), 04/15/2018 17:00:02
4F:→ djshen: 分割到结果? 你再想想看吧 04/15 20:03
5F:→ bowin: base case: len==1 => return list; 04/15 20:18
6F:→ bowin: take pivot=list[len//2]; 04/15 20:19
7F:→ bowin: return quicksort(list_l)+pivot+quicksort(list_u) 04/15 20:21
8F:→ bowin: list_l = list smaller than pivot; list_u, similarly 04/15 20:22
9F:→ bowin: Soory for quick typo: base case: len<=1 04/15 20:46
10F:→ bowin: Apology for typo: "Sorry"... =_= 04/15 20:47
11F:推 TitanEric: 第一次看到qsort是这样写 04/15 21:41
我看到的范例都用好几个函式互相呼叫 只有我这样写吗qq?
12F:推 vfgce: 你的问题不是qsort,是你根本不会recurion...... 04/15 22:25
因为当下不知道条件怎麽放进去所以就先这样待补 ><
13F:→ vfgce: recursion要有明确的终止条件,不然就是无限执行.... 04/15 22:26
14F:推 mantour: 你的new_list = ... 那一行的右边 qsort 应该是打错了 04/15 23:12
15F:→ mantour: 然後这一行就进入递回了 後面的if根本不会被执行到 04/15 23:13
16F:推 mantour: 若 len(L) == 1, qsort(L) 应该 return 什麽 ? 04/15 23:45
17F:推 Kazimir: 你这样能想的清楚每一层会回传什麽东西吗...? 04/15 23:58
18F:→ Kazimir: https://ideone.com/NWnjCu 我其实也没写过 试个 04/16 00:22
19F:推 hihi0123: 资料结构用python上蛮稀奇的 04/16 09:30
20F:→ bowin: MIT EECS也是用Python上Alg & Data Structures 04/16 10:42
感谢各位回覆 我已经找到解决方法了 晚点补上程式码 ※ 编辑: gvi86113 (49.215.208.192), 04/16/2018 11:35:31 ※ 编辑: gvi86113 (49.215.208.192), 04/16/2018 11:36:41 ※ 编辑: gvi86113 (49.215.208.192), 04/16/2018 11:37:19 ※ 编辑: gvi86113 (49.215.208.192), 04/16/2018 12:52:56 ※ 编辑: gvi86113 (49.215.208.192), 04/16/2018 12:55:33







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP