简易桶排序 ——java实现
来源:互联网 发布:网络主播怎么吸引粉丝 编辑:程序博客网 时间:2024/06/18 11:00
package com.ebiz;import java.util.Scanner;public class TestClass { /** * 对0-1000的整数进行排序(简易桶排序,后续会完善) * 时间复杂度O(M+N) * @param args */ public static void main(String[] args) { // 初始化数组的三种方法// int[] book2 = new int[]{1,2,3};// int[] book3 = {1,2,3};// int[] book1 = new int[1001]; System.out.println(); // Step1.先创建桶 int[] book = new int[1001]; // 初始化桶 for(int i = 0; i < 1000; i++){ book[i] = 0; } // Step2.输入要排序的个数 Scanner s = new Scanner(System.in); String str = null; System.out.println("请输入:"); str = s.next(); System.out.println("您输入的是:" + str); // Step3.把输入的数值放到对应的桶下进行记录 for(int m = 0; m < Integer.parseInt(str); m++){ // 不能自动提醒输入?????????? Scanner num = new Scanner(System.in); String key = num.next(); book[Integer.parseInt(key)] ++; } // Step4.倒叙打印出来 for(int n = 1000; n >= 0; n--){ for(int k = 0; k < book[n]; k++){ System.out.println("倒叙:" + n); } } }}
桶排序的时间复杂度为O(M+N),工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。
1 0
- 简易桶排序 ——java实现
- 快速排序的最简易实现(Java+Groovy)
- Java—简易计算器
- Java自定义注解——简易实现spring @Autowired
- Java自定义注解——简易实现spring @Autowired
- 归并排序的简易实现
- 快速排序的简易实现
- 排序算法Java实现——桶排序
- JAVA实现简易计算器
- java实现简易计算器
- java实现简易计算器
- java实现简易计算器
- 简易版桶排序
- java冒泡排序简易版
- 冒泡算法和简易桶排序算法实现
- 希尔排序—java实现
- 冒泡排序—java实现
- 插入排序—java实现
- Ubuntu12调节亮度
- 继承 (inherit )的使用与注意事项
- 利用AOE网求解关键路径问题
- [torch]create a new criterion(cross entropy)
- 关于数组和指针的相应基础笔记整理
- 简易桶排序 ——java实现
- 在Windows上搭建RocketMQ的流程和注意事项
- Angular2+AOt+nginx开启gzip,优化访问速度
- 深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇)
- 数据库优化
- 正则表达式 regular expression(六)
- 详解Android SurfaceFinger服务
- 编译OpenCV for Android
- HBCTF第二场WP