社区
数据结构与算法
帖子详情
Radix sort算法有人熟悉吗?
passionthean
2009-10-25 10:27:05
请问有人熟悉Radix sort算法吗?想讨教一下QQ:493231671,谢谢~
...全文
78
4
打赏
收藏
Radix sort算法有人熟悉吗?
请问有人熟悉Radix sort算法吗?想讨教一下QQ:493231671,谢谢~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pmars
2009-10-25
打赏
举报
回复
厉害,学习了!
hh_xj
2009-10-25
打赏
举报
回复
就是将一个数分段,每段有一个基数(radix),比如上面的例子对2位的十进制数,分两段,每段基数10。这种分段也可以是50*2,即第一段基数2,第二段基数50。也可以分3段5*5*4,分段之后,以从低位段到高位段的顺序,依次对每段按每段基数对数进行排序。最后一段的排序就可以得到正确的排序。
lilgtoit
2009-10-25
打赏
举报
回复
以LSD为例,假设原来有一串数值如下所示:
73, 22, 93, 43, 55, 14, 28, 65, 39, 81
首先根据个位数的数值,在走访数值时将它们分配至编号0到9的桶子中:
0
1 81
2 22
3 73 93 43
4 14
5 55 65
6
7
8 28
9 39
接下来将这些桶子中的数值重新串接起来,成为以下的数列:
81, 22, 73, 93, 43, 14, 55, 65, 28, 39
接着再进行一次分配,这次是根据十位数来分配:
0
1 14
2 22 28
3 39
4 43
5 55
6 65
7 73
8 81
9 93
接下来将这些桶子中的数值重新串接起来,成为以下的数列:
14, 22, 28, 39, 43, 55, 65, 73, 81, 93
这时候整个数列已经排序完毕;如果排序的对象有三位数以上,则持续进行以上的动作直至最高位数为止。
LSD的基数排序适用于位数小的数列,如果位数多的话,使用MSD的效率会比较好,MSD的方式恰与LSD相反,是由高位数为基底开始进行分配,其他的演算方式则都相同。
lilgtoit
2009-10-25
打赏
举报
回复
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int data[10] = {73, 22, 93, 43, 55, 14, 28, 65, 39, 81};
int temp[10][10] = ;
int order[10] = ;
int i, j, k, n, lsd;
k = 0;
n = 1;
printf("\n排序前: ");
for(i = 0; i < 10; i++)
printf("%d ", data);
putchar('\n');
while(n <= 10) {
for(i = 0; i < 10; i++) {
lsd = ((data / n) % 10);
temp[lsd][order[lsd]] = data;
order[lsd]++;
}
printf("\n重新排列: ");
for(i = 0; i < 10; i++) {
if(order != 0)
for(j = 0; j < order; j++) {
data[k] = temp[j];
printf("%d ", data[k]);
k++;
}
order = 0;
}
n *= 10;
k = 0;
}
putchar('\n');
printf("\n排序后: ");
for(i = 0; i < 10; i++)
printf("%d ", data);
return 0;
}
Sort
源代码
"
Sort
源代码"这个压缩包很可能包含了多种经典的排序
算法
实现,这对于理解这些
算法
的运作原理、提高编程技能以及优化数据处理效率都非常有帮助。下面,我们将详细讨论其中可能包含的一些重要排序
算法
及其特点。 1. ...
c实现的经典
算法
大全
9. 基数排序法(
Radix
Sort
): 基数排序是一种非比较型整数排序
算法
,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。C语言实现需要对每一位进行从低位到高位的排序,可以用来对十进制数的整数...
数据结构中几种常用的排序
算法
总结
基数排序 (
Radix
Sort
) - **时间复杂度**:O(nk),其中k是最大的位数。 - **空间复杂度**:O(n+k)。 - **稳定性**:稳定。 - **实现原理**:基于整数的位数来进行排序,从最低位开始逐位排序,最终形成有序序列。 ...
311076040-17181-09A_数据结构与
算法
1
【数据结构与
算法
1】是计算机科学中的核心课程,主要关注如何有效地组织和操作数据,以及设计和分析
算法
的效率。以下是对试卷中部分题目涉及的知识点的详细说明: 1. 选择题第1题提到的
算法
性能评估的关键因素是(C...
经典
算法
大全
算法
很不错啊
常用的
算法
有KMP
算法
、Boyer-Moore
算法
等。 ### 11. 双色、三色河内塔 这是河内之塔问题的一个扩展版本,引入了不同的颜色规则,增加了问题的复杂度。 ### 12. 背包问题 (Knapsack Problem) 背包问题是一种优化...
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章