社区
数据结构与算法
帖子详情
有关基数排序的疑惑
xero_123
2009-08-19 03:32:10
在基数排序的过程中,利用的是在最低位置开始进行排序,为什么不像我们常理认为的在最高位置进行排序,在算法导论里面进行了介绍,可是小弟没有怎么看明白,各位前辈谁有想法麻烦介绍一下
...全文
118
7
打赏
收藏
有关基数排序的疑惑
在基数排序的过程中,利用的是在最低位置开始进行排序,为什么不像我们常理认为的在最高位置进行排序,在算法导论里面进行了介绍,可是小弟没有怎么看明白,各位前辈谁有想法麻烦介绍一下
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
urakvv7
2009-08-22
打赏
举报
回复
又看到“卡片排序器一次只能查看一个列”这句话,∴理解如下:
如果开始从最高位置进行排序,接着对次高位置进行排序,则
∵
一次只能查看一个列
∴单看次高位置不能决定数的排序位置,还要查看器最高位置的排序信息
反之,从最低位置开始排序,接着对次低位置进行排序,则不用去关心最低位置信息,
∵相比之下,次低位置的权值要高
urakvv7
2009-08-22
打赏
举报
回复
我也看得不是很明白。
《算法导论》里有这么一段话:“从直觉上来看,人们可能会觉得应该按照
最高有效位
进行排序,然后再对每个盒子中的数递归地排序,最后再把结果合并起来。不幸的是,为排序每一个盒子中的数,10个盒子中的9个必须先放在一边,这个过程中产生了许多要加以记录的中间卡片堆(见练习8.3-5)。”
哪位大侠解释下这其中的玄机?为什么首先按最低有效位数字进行排序不会产生中间卡片堆?
xero_123
2009-08-22
打赏
举报
回复
[Quote=引用 4 楼 starcat 的回复:]
我看《数据结构与算法分析-C语言描述》里阐述这个问题,好像很好理解阿。
[/Quote]
麻烦详细介绍一下
starcat
2009-08-21
打赏
举报
回复
我看《数据结构与算法分析-C语言描述》里阐述这个问题,好像很好理解阿。
destinyac
2009-08-21
打赏
举报
回复
基数排序的从低位到高位排序的可以这么考虑:
最后一次排序的时候,所依据的肯定是权值高的。就像比较两个数一样,如果高位大的话,低位就不用看。
如果从高位到低位排序,可以用递归实现。思想就是分组了。
acdbxzyw
2009-08-19
打赏
举报
回复
两种方向都可以。
只记得在这里从高位开始排很麻烦。消耗太大。
hyram
2009-08-19
打赏
举报
回复
从后往前排,每次准备10张表,排好以后可以合为一张(因为前一位数大的数必然大),整个排序过程我们只需要10张表。
如果从前往后,每次准备10张表,排好以后必须再把每个表分成10张表(无法合并),这样空间消耗太大,无法承受。
算法导论答案,作者的教师手册
比较详细的答案 作者的教师手册 Instructors Manual by Thomas H. Cormen Clara Lee Erica Lin to Accompany Introduction to Algorithms Second Edition by Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein
算法导论课后习题与思考题答案
算法导论习题和课后题答案,希望对学习算法导论的同学有所帮助,
小学数学一年级上册《第几》.pptx
小学数学一年级上册《第几》.pptx
《1-5各数的认识》练习题(20210518002420).pdf
10大排序算法之八:
基数排序
【稳定】,复杂度小,不常用
基数排序
,除非面试官特殊申明
1)
基数排序
的核心思想,就是利用特定位(比如个位)统计0--9的个数,然后用累加和数组c倒桶入help,最后转移到arr,完成排序 2)难,是难了点,但是这种桶排序的思想,就是这样,烦,面试官没有特殊要求,不要玩桶排序(
基数排序
和计数排序),我们只玩比较的排序。
数据结构与算法
33,027
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章