链式基数排序            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-05-25 16:29:41
                            
                                67阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文字描述  基数排序是和前面各类排序方法完全不相同,前面几篇文章介绍的排序算法的实现主要是通过关键字间的比较和移动记录这两种操作,而实现基数排序不需要进行记录关键字间的比较。基数排序是一种借助多关键字排序的思想对单逻辑关键字进行排序的方法。先介绍下什么是多关键字排序,以引入链式基数排序算法。   先介绍什么是多关键字排序:  比如,对扑克牌进行排序,每张扑克牌有两个“关键字”:花色(梅花            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-21 11:10:58
                            
                                51阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.基数排序(桶排序)介绍:基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或 bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用基数排序法是属于稳定性的排序,基数排序法的是效率高的 稳定性排序法基数排序(Radix Sort)是桶排序的扩展基数排序是 1887 年            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-16 12:17:22
                            
                                105阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            基数排序与基数排序是两种非比较型排序。计数排序:
//************计数排序*********
//先最大-最小+1得到开辟空间数,开辟空间str,在遍历原数据arr在str相应位置计数,再遍历str将值写到原arr中
//适用在密集型数据, 无重复最优可转化为位图
//时间复杂度O(N),空间复杂度O(最大数-最小数+1)
//设数组元素非负
void Count            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2016-05-22 13:15:20
                            
                                783阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            基数排序:  基数排序的思想就是将待排数据中的每组关键字依次进行桶分配基数排序:LSD和MSD方法。LSD的基数排序适用于位数小的数列,如果位数多,使用MSD效率会更高。MSD与LSD相反,由高位数为基底开始分配。LSD为例:73, 22, 93, 43, 55, 14, 28, 65, 39, 81首先根据个位数的数值,在走访数值时将它们分配至编号0到9的桶子中。接下来将这些桶子中的数值重新串接            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-15 03:56:07
                            
                                99阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、桶排序概念桶排序,核心思想是将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行排序。桶内排序之后,再把每个桶里的数据按照顺序依次取出,组成的序列就是有序的。 应用场景桶排序比较适合用在外部排序中。所谓的外部排序就是数据存储在外部磁盘中,数据量比较大,内存有限,无法将数据全部加载到内存中。 二、计数排序概念计数排序其实是桶排序的一种特殊情况。桶的个数n与最大值是k相等            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-30 22:28:23
                            
                                99阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Python基数排序
## 概述
在本文中,我将向您介绍基数排序算法的实现过程。基数排序是一种非比较排序算法,它根据元素的每位数字进行排序。该算法适用于大量数字的排序,尤其是对于整数排序而言,它具有良好的效率和稳定性。
## 流程
下面是进行基数排序的步骤:
步骤 | 描述
--- | ---
1 | 找到待排序列表中最大的数字,并确定其位数
2 | 从最低有效位(个位)开始,按照每位数            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-07-20 23:45:15
                            
                                76阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            def radix_sort(array): bucket, digit = [[]], 0 while len(bucket[0]) != len(array): bucket = [[], [], [], [], [], [], [], [], [], []] for i in range(len(array)): ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-09-21 23:49:00
                            
                                69阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            基数排序是一种非比较排序算法,它根据元素的每一位的值将元素进行排序。该算法的时间复杂度为O(kn),其中k是数字中的最大位数,n是待排序元素的个数。基数排序适用于待排序元素为非负整数的情况。
## 基数排序算法原理
基数排序算法的原理是将待排序的元素拆分成若干位,按位进行排序。基数排序的关键在于确定排序的顺序,可以从低位到高位,也可以从高位到低位。在每一位上,可以使用计数排序或桶排序来进行排序。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-08-30 03:35:03
                            
                                73阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            说明:  本文主要展示Python实现的几种常用数据结构:顺序表、链表、栈和队列。  附有实现代码。  来源主要参考网络文章。 一、顺序表  1、顺序表的结构元素集合,另一部分是为实现正确操作而需记录的信息,即有关表的整体情况的信息,这部分信息主要包括元素存储区的容量和当前表中已有的元素个数两项。        2、顺序表的两种基本实现方式     一体式结构,存储表信息的单元            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-15 02:01:26
                            
                                35阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            对于一个int数组,请编写一个基数排序算法,对数组元素排序。
给定一个int数组A及数组的大小n,请返回排序后的数组。保证元素均小于等于2000。
测试样例:
[1,2,3,5,2,3],6
[1,2,2,3,3,5]
>
参考文档:http://www.cnblogs.com/Braveliu/archive/2013/01/21/2870201.html
我的提交
#            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-12-25 17:18:44
                            
                                3366阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            基数排序(Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。比较官方地说,基数排序是一种基于多关键字的排序。基数排序具体过程如下: 将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。 然后,从最低位开始,依次进行一次排序。这个排序并非比较大小,而是将对应的数字放置在其对应的桶中。即个位数字是0的数字放置在索引为0的            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-01 11:15:04
                            
                                118阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            /*	 * 基数排序	 * 思路:就是先准备十个桶,每一个桶就是一个一维数组,十个就定义一个二维数组            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-28 09:59:23
                            
                                28阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            桶排序在介绍基数排序之前,我们先看看桶排序的原理。假设我们有N个学生,他们的成绩是0到100之间的整数(于是有M = 101个不同的成绩值)。如何在线性时间内将学生按成绩排序?在这个例子中我们看到数据的特殊性,学生可以有很多,但是种类就只有101种,我们建立101个桶,每个桶一个成绩值,桶中的存放的是链表,相同成绩的学生在对应的桶中构成链表,扫描每个学生的成绩,依次将其插入到对应的桶中。...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-12 16:17:26
                            
                                705阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            今天,我们一起用C            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-19 11:07:39
                            
                                110阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            基数排序 最高位优先(Most Significant Digit first) MSD:先按最高位排成若干子序列,然后再对每个子序列按次高位排序。 最低位优先(Least Significant Digit first) LSD:先按最低位排成若干子序列,然后再对每个子序列按次低位排序。 示例 对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-07-28 20:39:00
                            
                                363阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            今天,我们一起用C++实现基数排序,具体代码如下:Data.h具体内容如下:template class Element{public:	Type GetKey(){ return key;	}	void SetKey(Type item){ key = item;	}public:	...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2014-09-14 18:11:00
                            
                                141阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            使用10个辅助队列,假设最大数的数字位数为 x, 则一共做x次,从个位数开始往前,以第i位数字的大小为依据,将数据放进辅助队列,搞定之后回收。下次再以高一位开始的数字位为依据。 以Vector作辅助队列,基数排序的Java代码:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-10-22 02:55:00
                            
                                98阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            前言 基数排序的排序原理不难理解,但是在算法设计上,个人感觉还是比那些常见的排序要难的,耐心慢慢一步步理解,还是比较容易看懂的,注意基数排序有两种,一种是高位优先,一种是低位优先,在这里我只讲低位优先,即先排个位,再排十位………. 时间复杂度 基数排序的时间复杂度为O (nlog(r)m),其中r为            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-07-15 12:05:00
                            
                                154阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            第一步以LSD为例,假设原来有一串数值如下所示:73, 22, 93, 43, 55, 14, 28, 65, 39, 81首先根据个位数的数值,在走访数值时将它们分配至编号0到9的桶子中:01 812 223 73 93 434 145 55 65678 289 39第二步接下来将这些桶子中的数值            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-11-05 16:45:00
                            
                                119阅读
                            
                                                                                    
                                2评论