啊哈算法——第一章第一节:桶排序

啊哈算法---快速排序(C语言) 文章目录前言一、快速排序是什么?实现原理二1.![在这里插入图片描述](https://img-blog.csdnimg.cn/20210624142203649.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzU0MTI5ODE2,size_16,color_FFFFFF,t_70#pic_center)快速排序代码块 前言 冒泡排序在啊 阅读详情

       学习算法不奇怪,啊哈算法很哇塞!大家好,我是pythonitstream。今天我们来讲一下啊哈磊(原名纪磊)写的《啊哈算法》一书


前言

       有一个困扰了我们多年的问题,就是如何排序。这听起来挺简单,但是从时间复杂度的角度上就不那么简单了。


一、桶排序是什么

桶排序是一个简单又快捷的排序,时间复杂度仅为O(N+M),是不是很快?

它的原理就是用一个列表,只要有一个数出现,就把相应索引值的值加一。等到打印的时候,再用一个循环,判断一下,如果值为0,那就不打印,否则打印那个数

二、实战应用

有一个班想让我们排序一下分数,他们的分数分别是65,99,81,79,100和94,那该怎么办呢?

二、(1)、分析

首先,分数是由大到小排序,并且满分是100分,所以创建一个大小为101的列表就可以了,这个列表就是那个“桶”。实践如下:

a=[0 for i in range(101)]

其次,读入数,搞一个循环,用来统计数。每当用户输入一个数时,对应的桶的索引值的值加一

。就是酱紫:

for j in range(6): #输入六个数
    result=int(input('请输入成绩:'))
    a[result]+=1 #相应的索引值的值加一

然后就是打印。打印时,要用一个嵌套循环。一个用来遍历桶,一个用来打印数字(桶里的值是多少,就打印多少遍)。因为我们是从大到小排序,所以我们要从6到0的range。实现如下:

for k in range(100,-1,-1): #从6到1的range
    for l in range(1,a[k]+1): #打印数
        print(k,end=' ')

二、(2)、代码

代码实现是酱紫的:

 

a=[0 for i in range(101)] #那个“桶”

for j in range(6): #输入六个数
    result=int(input('请输入成绩:'))
    a[result]+=1 #相应的索引值的值加一

for k in range(100,-1,-1): #从6到1的range
    for l in range(1,a[k]+1): #打印数
        print(k,end=' ')

请输入成绩:65

请输入成绩:99

请输入成绩:81

请输入成绩:79

请输入成绩:100

请输入成绩:94

100 99 94 81 79 65 


总结

桶排序速度很快,但是也有弊端。

如果让你统计5.25这种小数怎么办?如果数是1 10000000 999 254325323呢?你是不是要做一个254325324个值的列表?请看下期——冒泡排序

观《啊哈算法》,积累代码(c++实现) 桶算法之简化版: //桶排序的算法1 #include using namespace std; int main() { int a[11]={},t;//在0~10里定义一个位置 for(int i=1;i<=10;i=i+1) { cin>>t; a[t]++;//输入某个某个数,这个数所对应的位置就+1 } for 阅读详情

相关推荐

啊哈算法系列-2023-10-11.pdf

啊哈算法系列-2023-10-11

《啊哈!算法》

Monday: 第1章 一大波数组正在靠近------排序 第1节 桶排序 简单的桶排序思想:假设有若干个按大小顺序编号的桶用来存放每个出现数据的次数、假设每个出现数据为小旗子,将每支小旗子插到对应的桶里,通过桶编号大小顺序对小旗子对应数据进行排序。 注意:数据范围为整数0-1000 需要1001个桶 用getchar()或system(“pause”);暂停程序查看输出 在忽略较小常数的合理近...

qq_33838170的博客 2929

文档多模态识别工具对比:MinerU、PaddleOCR、Marker

本文对比了三款文档多模态识别工具:MinerU、PaddleOCR和Marker。MinerU专注于中文文档的端到端解析,支持复杂元素提取和结构化输出,适合中文论文和教材解析。PaddleOCR是通用OCR工具包,支持多语言和全流程任务,适用于发票、车牌等图像OCR。Marker则注重多语言支持和轻量化部署,适合英文论文和技术文档的快速转换。三者在核心技术、中文优化、表格处理、输出格式、部署复杂度和适用语言等方面各有优劣。选型建议根据具体需求:MinerU适合高精度中文解析,PaddleOCR适合定制化OC

朴拙科技的博客 4743

《啊哈算法》第一章--排序(解析+代码)

桶排序,冒泡排序,快速排序 + 小哼买书(NOIP2006普及) 我会在原书基础上适当创新

IT OR 考公? 1837

POI 写word,添加标题,表格,图片,自动生成目录,合并单元格

工程地址:https://github.com/zheng-chang-wei/word package com.example.demo1.poi; import org.apache.poi.xwpf.usermodel.XWPFDocument; import java.io.File; import java.io.FileOutputStream; public class ...

zheng_chang_wei的博客 6154

超详细流式细胞术全流程解析:从样本制备到结果分析全攻略

流式细胞术(Flow Cytometry)是现代生物学和医学研究中不可或缺的高通量分析技术,可实现对细胞表型、功能状态、细胞周期等多维度参数的快速检测。本文将从实验全流程出发,详解样本制备、上机操作、参数设置及结果处理的核心要点,帮助科研人员精准掌握流式实验关键技术。

good_rrrrr的博客 3867

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

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

青少年趣味编程 3486

实测可复现|2026 Cloudflare盾v4.0反反爬全实战:从JS/WASM逆向到JA3指纹伪装,手把手突破拦截(附完整逆向代码+避坑手册)

本文以2026年Cloudflare盾v4.0(集成Shield Synapse v2.0)为核心,全程以实战复盘为视角,拆解了从JS/WASM混合逆向、全维度指纹伪装(JA3+浏览器指纹)、人类行为模拟,到代理池搭建的全流程,整合了完整可复现的代码,所有步骤和踩坑点均为实测所得,无任何AI套话,新手也能跟着复现,最终实现爬取成功率从12%提升至95%+。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1686

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

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

Qizhi_Hu的博客 2209

AI Agent 入门(一):什么是 AI Agent?——从概念到第一个 API 调用

AI Agent 入门(一):什么是 AI Agent?——从概念到第一个 API 调用

nbtang的博客 257

Java使用POI生成柱状图导出到word文档(柱状图)

本篇文章主要介绍,如何使用Apache POI组件生成柱状图导出到word文档中,具体步骤看下文。 一、实现效果 Java使用POI技术生成柱状图导出到word文档中,最终生成的柱状图如下所示: 二、环境准备 编程语言:Java 第三方依赖:Apache POI Apache POI依赖代码如下所示: <dependencies> <dependency> <groupId>org.apache.poi</groupId.

✅ Java 开发工程师 7367

《啊哈算法》学习——桶排序

学习啊哈算法第一天,第一章第一节最快最简单的桶排序。问题描述:班级五名同学的分数排序,十分制。问题分析及思路:借助大小为10的一维数组,初始化为0,意味该分数没有人得,接下来处理分数,如有两个人得5分,即将a[5]=2; 记录下分数即出现次数后进行输出,出现几次就打印几次。

weixin_45704362的博客 196

【AI大模型应用开发】教你用AI轻松将你的知识库变为知识图谱(附完整代码,直接运行)

本文我们来介绍如何使用AI,将自己的知识库自动转换为知识图谱,并进行可视化展示。

同学小张的博客 3925

《啊哈算法》之桶排序

《啊哈算法》之桶排序 这是本人第一篇博客,简单记录一下学习的心得和体会。 以下是最简单的排序算法——桶排序的代码实现。下面分别是按从小到大排序以及按从大到小排序的代码``。 #include <stdio.h> int a[11]={0}; //定义一个数组来记录0~10出现次数。 int main(void) { int i,t,j; //定义三个变量 for(i=0;...

weixin_45423586的博客 305

Unity中实现俄罗斯方块

二:实现思路 ——创建每一个方块可移动到的位置点,可以理解为创建一个游戏地图,从(0,0)点开始依次向x轴和y轴延伸,例如x最大为9,y最大为19,则创建了一个20行10列的地图 ——制作每一个形状的预制体,Shape是每一个整体形状,Block是每一块小方块,CenterPos代表这个形状的旋转中心 ——创建GameController脚本控制游戏逻辑,挂载到面板物体上。创建Block脚本控制每个形状的操作,挂载到每个形状上 ——在GameController脚本中编...

L的博客 8557

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

啊哈算法的第一章——排序的笔记

啊哈算法的第一章——排序的笔记1.桶排序2.冒泡排序3.快速排序 在第一章中,作者介绍了三种排序方法: 以下是它们的实现过程: 1.桶排序 示例代码如下: // 对数据范围在0到1000之间的整数进行排序 #include<stdio.h> int main() { int book[1001], n;//book有记录、标记的意思 for (int i = 0; i <= 1000;i++) { book[i] = 0;//初始化每一个“桶”

ZY_yin的博客 711

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

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

Qizhi_Hu的博客 1006

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【啊哈算法】一、桶排序

排序算法千万种,但最容易和简单的排序算法桶排序当仁不让,我们今天就来了解一下它,看它如何使用,适用什么场景。 文章标题一、概念二、特点三、例题 一、概念 桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值...

qq_43411555的博客 501

啊哈算法---桶排序

桶排序 文章目录桶排序前言二、桶排序2.读入数据总结 前言 额,刚刚学习的桶排序。 需要一个计数数组,然后计数数组就是count[i]++; 如果有两个五就在count[5]++,也就是说在count[5]的位置是存了一个2的, 所有我们在打印数字时只需要输出i即可 即 for(i=0;i<=1000;i++){ for(j=1;j<=book[i];j++){ printf("%d",i); printf(" "); 二

m0_54129816的博客 246

啊哈算法学习-简化版桶排序

作为一个菜鸟,今天开始学习算法相关,从啊哈算法学起,每天两小节,用python实现,希望看完这本书以后能对一些算法有初步概念; python本身也写的很水,希望慢慢能找到更好的实现方式 简化版桶排序代码如下:# -*- coding: utf-8 -*- #简化版桶排序 nums=raw_input("numbers:") num=nums.split(" ") #初始化n+1个桶(n为输入数据

vivi_vivi_fu的专栏 543

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

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

Pola_的博客 490

啊哈算法-桶排序

//桶排序 #include<stdio.h> #include<stdlib.h> int main() { int a[11],i,j,t; for(i=0;i<=10;i++) a[i]=0; //初始化为0 for(i=1;i<=5;i++){ //循环5次 scanf("%d",&a...

菜鸟大佬的博客 357

《啊哈算法》的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

《啊哈算法》 解密 QQ 号 —— 队列(python实现)

q=[0]*102 #print(q) q[1]=6 q[2]=3 q[3]=1 q[4]=7 q[5]=5 q[6]=8 q[7]=9 q[8]=2 q[9]=4 #print(q) head=1 tail=10 while head<tail: print("%d" %q[head],end=" ") head+=1 q[tail]=q[head] tail+=1 ..

青少年趣味编程 1751

C# -《啊哈算法》-01-排序-桶排序

  初学算法,找到一本不错的书《啊哈算法》用c#实现以下(个人学习用)速度快但是占内存的桶排序,复杂度O(M+N)。

qq_29922453的博客 2527

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

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

Qizhi_Hu的博客 1137
上一篇: python tkinter ttk的使用(下)
下一篇: 啊哈算法——第一章第二节:冒泡排序
pythonitstream
博客等级 码龄5年 40粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值