目录
一、基数排序算法的(桶排序)介绍
- 一、基数排序算法的(桶排序)介绍
- 二、基数排序算法的基本思想
- 三、基数排序算法的思路分析图解
- 四、基数排序算法的应用示例需求
- 五、基数排序算法的推导过程示例演示
- 六、基数排序算法的完整示例演示
- 七、测试基数排序算法所消耗的时间示例
- 八、基数排序存算法注意事项
- 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用
- 基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法
- 基数排序(Radix Sort)是桶排序的扩展
- 基数排序是1887年赫尔曼·何乐礼发明的。它是这样实现的:将整数按位数切割成不同的数字,然后按每个位数分别比较。
- 将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。
将数组 {53, 3, 542, 748, 14, 214 } 使用基数排序, 进行升序排序
五、基数排序算法的推导过程示例演示1、代码
package com.rf.springboot01.dataStructure.sort;
import java.util.Arrays;
/**
* @description: 基数排序算法的推导过程示例演示
* @author: xiaozhi
* @create: 2020-08-12 22:23
*/
public class RadixSort {
public static void main(String[] args) {
int arr[] = { 53, 3, 542, 748, 14, 214};
radixSort(arr);
}
/**
* @Description: 基数排序算法的推导过程示例方法
* @Param: [arr]
* @Author: xz
* @return: void
* @Date: 2020/8/12 22:25
*/
public static void radixSort(int[] arr){
//定义一个二维数组,表示10个桶, 每个桶就是一个一维数组
//说明
//1. 二维数组包含10个一维数组
//2. 为了防止在放入数的时候,数据溢出,则每个一维数组(桶),大小定为arr.length
//3. 很明确的表示,基数排序是使用空间换时间的经典算法
int[][] bucket=new int[10][arr.length];
//为了记录每个桶中,实际存放了多少个数据,我们定义一个一维数组来记录各个桶的每次放入的数据个数
//可以这么理解 比如:bucketElementCounts[0] , 记录的就是 bucket[0] 桶的放入数据个数
int[] bucketElementCounts=new int[10];
/**
* @Description: 第一轮(针对每个元素的个位数进行排序处理)
* @Param: [arr]
* @Author: xz
* @return: void
* @Date: 2020/8/12 22:29
*/
for(int j=0;j
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?