1.桶排序——啊哈算法java实现

java实现桶排序(详细解析) 什么是桶排序 桶排序 (Bucketsort),是一个排序算法,工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是比较排序,他不受到 O(n log n) 下限的影响。 桶排序思想 桶排序的思想是,若待排序的记录的关键字在一个明显有限范围内时,可设计有限个有序桶,每个桶只能装与之对应的值,顺序输出各桶的值,将得 阅读详情


/**
 * 题目:
 * 5个人考试得分分别为 5分,3分,5分,2分,8分;满分是10分;
 * 要将 5 3 5 2 8 这个数组进行降序排序;
 * 即排序后变为 8 5 5 3 2;
 * */

/**
 * 桶排序解法: 建一个大小为11的一维数组a,a[0]~a[10]元素都初始化为0,
 * 用元素下标0~10表示分数,用元素的值表示有多少人得过该元素下标对应的分数; 例如:
 * a[1]=0表示0人得1分,a[5]=2表示有2人得5分,‘5’代表5分,‘2’代表2个人得5分;
 * 
 * 接下来在a数组的循环中对每个人的分数进行遍历,分数值等于数组下标,该数组的值加1
 * */
public class BucketSort {

	public int[] bucketSort(int[] array) {
		int[] a = new int[11];
		for (int i = 0; i < a.length; i++) {
			for (int j = 0; j < array.length; j++) {
				if (array[j] == i) {
					a[i] += 1;
				}
			}
		}
		return a;
	}

	public static void main(String[] args) {
		BucketSort bucket = new BucketSort();
		int[] array = { 5, 3, 5, 2, 8 };
		int[] a = bucket.bucketSort(array);
		for (int i = a.length - 1; i >= 0; i--) {
			if (a[i] > 0) {
				for (int j = 0; j < a[i]; j++)
					System.out.println(i);
			}
		}
	}

}

输出:

8 5 5 3 2


啊哈算法PDF版下载

【MediaPipe实战】从零构建实时人脸关键点检测与表情分析系统 本文详细介绍了如何使用MediaPipe框架从零构建实时人脸关键点检测与表情分析系统。通过Python代码实现,系统能够精准检测468个3D人脸关键点,并实时分析用户表情,适用于智能交互应用。文章包含环境配置、核心实现、可视化技巧及性能优化等实战内容,帮助开发者快速掌握深度学习在计算机视觉中的应用。 阅读详情

相关推荐

立创开源桌面激光雕刻机DIY全解析:从悬臂结构、Arduino主控到Marlin固件

本文详细解析了基于立创开源平台的桌面激光雕刻机DIY全过程。重点介绍了悬臂式机械结构的设计与优化,阐述了采用Arduino Mega 2560主控与RAMPS 1.4扩展板的经典控制方案,并深入讲解了Marlin固件的关键配置步骤,包括电机步数计算与激光功能启用,为创客和电子爱好者提供了一套完整的从硬件搭建到软件调试的实战指南。

weixin_42510201的博客 385

java 桶排序

java桶排序

SCU_XLJ的博客 1766

视觉SLAM的前段后端最详细的梳理(硕士入门知识框架更新)

文章目录视觉SLAM的组成结构视觉里程计(VO)-特征点法 -构建稀疏点云地图-直接法 -构建稠密或半稠密的地图 --需要使用 RGB-D 传感器视觉里程计--总结:SLAM 后端研究滤波器法非线性优化后端方式的差异(有五种优化方式):单目视觉里程计的初始化:运动估计:半直接法运动估计的优化方案:关于解决累计误差的一些方法:关键帧的建图及后端优化:特征的深度估计:图优化的后端研究:视觉与IMU融合的分类:视觉与IMU的融合的优势:存在的问题:优秀的开源: 视觉SLAM的组成结构 视觉里程计(VO) -特

DC 6812

(十二)Java算法:桶排序(详细图解)

桶排序(详细图解)

嘉禾嘉宁papa 7892

echarts的坐标轴处理算法

参考原文:https://www.cnblogs.com/vicky-li/p/11653415.html。2、可用于双轴的情况,指定splitNumber,保证左右两边的线没有交叉显示的情况。1、设置echarts显示的最大最小值,让数据显示比较有起伏。处理echarts的一些问题。

HYeeee的博客 801

FPGA防抄板实战:如何利用Xilinx芯片的“身份证”(DNA)实现你的加密锁?

本文深入探讨了如何利用Xilinx FPGA芯片的DNA(Device Native Authentication)功能实现硬件级加密保护,防止设计被抄袭。文章详细解析了DNA的物理实现、获取方式,并提供了从DNA到加密密钥的转换方法,以及构建商业级加密防护系统的实战方案。通过JTAG和原语两种读取方式的对比,帮助开发者选择最适合的方案。

weixin_42548829的博客 384

Java算法系列第七篇:桶排序算法详解

桶排序是一种适用于特定情况下的高效排序算法,特别是当数据分布较为均匀时。通过自适应桶数和并行化处理,可以进一步提高桶排序的效率。在实际应用中,桶排序常用于排序浮点数和大规模数据。你的支持是我持续创作的动力!下期我们将详细讲解基数排序算法,敬请期待!这篇文章详细介绍了桶排序的原理、实现及其优化方法。如果你有任何问题或建议,欢迎在评论区留言!

阿里渣渣java研发组-群主 997

基于R-CNN深度学习的石头剪刀布手势识别系统:数据集、模型和UI界面的完整实现

本项目的目标是开发一个基于R-CNN深度学习模型的手势识别系统,能够识别石头、剪刀、布三种手势,并通过UI界面让用户能够进行交互。数据集准备与标注:收集包含石头剪刀布手势的图像,并对其进行标注。深度学习模型构建与训练:采用R-CNN模型进行手势的识别和定位。UI界面设计:设计一个简洁的界面,用户可以上传手势图像并进行识别。R-CNN(Region Convolutional Neural Networks)是一个典型的目标检测模型。生成候选区域。

YOLO 876

桶排序算法及优化(java)

桶排序是一种非比较型整数排序算法,特别适用于处理大规模数据集,特别是在数据分布较为均匀的情况下。通过合理选择桶的数量和优化桶内排序算法,可以大大提高桶排序的效率。无论是在理论研究还是实际工程中,桶排序都是一个值得深入了解的重要算法。

weixin_43841461的博客 2164

Open3D (C++) 计算点云坐标最值及其索引

使用C++版本的Open3D计算点云最值点及其对应的下标索引

点云侠的博客 730

103.在 Vue 3 中使用 OpenLayers 控制图层来显示/隐藏地图

是一个强大的开源库,可以用于构建各种地理信息系统应用。在 Vue 3 中,我们可以结合。方法,可以直接控制某个图层是否可见,而不需要删除或重新创建图层。在开始之前,确保你已经搭建了 Vue 3 项目,并安装了。本文将详细介绍如何在 Vue 3 组合式 API (,并实现按钮控制地图的显示/隐藏功能。会导致 OSM 瓦片地图无法加载。方法控制地图图层的显示与隐藏。安装完成后,即可开始编写代码。在本教程中,我们介绍了如何在。来实现地图的显示/隐藏功能。来实现交互式地图,并通过。在 WebGIS 开发中,

小彭的博客 1560

啊哈java_1.桶排序——啊哈算法java实现

/*** 题目:* 5个人考试得分分别为 5分,3分,5分,2分,8分;满分是10分;* 要将 5 3 5 2 8 这个数组进行降序排序;* 即排序后变为 8 5 5 3 2;* *//*** 桶排序解法: 建一个大小为11的一维数组a,a[0]~a[10]元素都初始化为0,* 用元素下标0~10表示分数,用元素的值表示有多少人得过该元素下标对应的分数; 例如:* a[1]=0表示0人得1分,a[...

weixin_35953844的博客 134

风控系统中的架构设计原型图分析与实践探讨

本文探讨了风控系统的架构设计原型图在风险管理中的重要性。通过分析多个案例,文章展示了如何利用架构设计原型图提升团队沟通效率,优化系统结构与功能。强调了良好的架构设计不仅有助于系统的可扩展性和可维护性,还能增强对风险的应对能力。最后,呼吁金融行业持续关注技术进步与市场需求变化,以不断提升风控系统的设计与实施效果。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 6万+

Java玩转《啊哈算法》排序之桶排序

大家好!本人最近看了下《啊哈算法》,写的确实不错,生动形象又有趣(~~我没收钱,确实如此~~ )。但对我来说,稍显遗憾的是,书籍代码是c语言,而不是本人常用的Java。那就弥补遗憾,说干就干,把这本书的示例语言用java给翻译一遍!!!

Qizhi_Hu的博客 2209

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Java玩转《啊哈算法》排序综合篇之小哼买书

各位大哥大姐,兄弟姐妹们好呀!本人最近看了下《啊哈算法》,说来惭愧,买几年了,当初看了一会儿就吃灰了。不过写的确实蛮好的,生动形象,精准有趣。但稍显遗憾的是,书籍示例代码是c语言,不是本人常用的Java。那就弥补遗憾,说干就干,把这本书的示例语言用java走一遍!!! 顺便附上自己的一些理解。

Qizhi_Hu的博客 1006

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java玩转《啊哈算法》排序之冒泡排序

大家好!本人最近看了下《啊哈算法》,写的确实不错,生动形象又有趣(~~希望作者打波广告费~~ )。但对我来说,稍显遗憾的是,书籍代码是c语言,而不是本人常用的Java。那就弥补遗憾,说干就干,把这本书的示例语言用java给翻译一遍!!!于是就有了本篇博客,这篇主要是讲解冒泡排序。

Qizhi_Hu的博客 1137

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

啊哈算法(python)

啊哈算法(python) https://blog.csdn.net/cs373616511/category_10967935.html 《啊哈!算法》python版程序 《啊哈!算法》python版程序_左左张-优快云博客 python算法之使用列表 python算法之使用列表_oakley1的博客-优快云博客 python判断闰年算法 python判断闰年算法_Black_Atom的博客-优快云博客 冒泡算法-python实现 冒泡算法-python实现_weixin_

青少年趣味编程 1831

啊哈算法——Java实现

一. 排序 1. 桶排序 import java.util.Scanner; //桶排序 public class BucketSort { static int[] book; // 标记数字被访问的次数 static int n; // 要输入的数字的总数 // 变量初始化 static { Scanner input = new Scanner(System.in); n = input.nextInt(); book = new int[100001]; // 需要保证输入的数小

程序无言 1220

啊哈算法系列(C语言、python、Java )

关于《啊哈!算法》相关资源 关于《啊哈!算法》相关资源 - 欣乐 - 博客园 第1章 一大波数正在靠近--排序 第1节 最快最简单的排序--桶排序 【坐在马桶上看算法】算法1:最快最简单的排序——桶排序 - 啊哈磊 - 博客园 【坐在马桶上看算法】算法1:最快最简单的排序——桶排序 【坐在马桶上看算法】算法1:最快最简单的排序——桶排序 - 啊哈磊 - 博客园 啊哈算法学习-简化版桶排序 啊哈算法学习-简化版桶排序_vivi_vivi_fu的专栏-优快云博客 第2节 邻居

青少年趣味编程 3486

《啊哈算法》的Java现实 | 第一章:排序

啊哈算法 第一章:排序 桶排序 步骤: 1.申请一个大小为n的数组a[n],并将数组初始化为0 2.输入数组,当输入第一个数字为5时,就在对应的a[5]的值在原来的基础上+1,即将a[5]的值从0改为1 3.从大到下,倒序进行输出 package ch1; import java.util.Scanner; public class Test01 { public static void main(String[] args){ Scanner sc = new Scanner(Sys

小七自学博客 561

Java、python实现啊哈算法 —— chapter1 小哼买书

这部分就是将chapter讲的3个排序算法:桶排序、冒泡排序、快速排序应用到买书的场景中去,话不多说,上代码: python: import numpy as np global n, a def swap(i, j): tem = a[i] a[i] = a[j] a[j] = tem def bucketsort(limit): #桶排序,以空间换时间,书号的范围多大就建一个多长的数组 global n #有多少本书 global a #标记图书号的列表

weixin_44089480的博客 1395

《啊哈算法》_小猫钓鱼(Java实现版)

今天看到《啊哈算法》小猫钓鱼这个题感觉挺有意思的,用Java写了一下(思路一样,写了两种,一个自定义类,另一个是直接导入的队列和栈,建议对队列和栈不熟悉的同学先看看自定义的,这也是Java比之C的一个弊端,现成的东西太多,反而学起来不好理解) 题目要求: 两人比赛,A,B,每人最开始分得6张手牌,手牌大小为从1到9 A先出牌,B后出牌,若出牌在桌面上存在,在出牌人获得两张相同牌中间的所有牌(包括两张相同牌),放入出牌人手中。 最后谁手中无牌判为负 思路: 每人有两种操作,分别是出牌和赢牌。这恰好对应队列的两

华鑫的学习记录 695

啊哈算法:小哼买书

算法要求:需要去重,和排序。规模在1000;1.A方法,直接对数据结构进行操作不使用API// 关于去重,直接遍历去重,时间复杂度O(n^2),空间复杂度0// 桶排序方法去重,这样既可以去重,顺便已经将数据排序,完美的符合了要求。整个程序的时间复杂度O(1),空间复杂度N2.B方法,使用JavaAPI处理问题// API解决问题,选择容器就可以了。//3.比较俩种方法的执行效率。范围:题目范围的...

Monkey0319的博客 411

《啊哈!算法》第一章 - 第一节 - 桶排序(简化版)Java实现

《啊哈!算法》第一章-第一节桶-排序(简化版)Java实现桶排序的升序排序桶排序的降序排序 这里是一个简单版的桶排序,真正的桶排序要更复杂一些,但目前足够我们用了。 题目如下: 期末考试完了老师要将同学们的分数按照从高到低排序。小哼的班上只有 5个同学,这 5个同学分别考了 5分、3分、 5分、2分和8分,考得真是惨不忍睹(满分是 10分)。接下来将分数进行从大到小排序, 排序后是 8 5 5 3 2。你有没有什么好方法编写一段程序,让计算机随机读入 5个数然后将这 5个数从大到小输出?请先想一想,至少想

Pola_的博客 490

啊哈算法读书笔记

现在才发现里面好多地方都乱了,很尴尬,这里面的语法虽然和atom用的都是md,但是格式似乎出了点问题,可能是复制粘贴导致的,现在后面还有点问题不知道问题出在哪一直没有解决

贝爷的奇遇冒险 665

【Java】《啊哈算法》-第一章排序

排序:桶排序、冒泡排序、快速排序

qq_44458489的博客 333
上一篇: 从尾到头打印链表值
下一篇: 2.冒泡排序——啊哈算法java实现
冷静BB
博客等级 码龄12年 298粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值