网站开发人员工具下载视频html在线编辑

web/2025/9/28 14:13:29/文章来源:
网站开发人员工具下载视频,html在线编辑,营销策划好的网站,网站icp备案网址简介 之前的文章我们讲了count排序#xff0c;但是count排序有个限制#xff0c;因为count数组是有限的#xff0c;如果数组中的元素范围过大#xff0c;使用count排序是不现实的#xff0c;其时间复杂度会膨胀。 而解决大范围的元素排序的办法就是基数排序。 基数排序…简介 之前的文章我们讲了count排序但是count排序有个限制因为count数组是有限的如果数组中的元素范围过大使用count排序是不现实的其时间复杂度会膨胀。 而解决大范围的元素排序的办法就是基数排序。 基数排序的例子 什么是基数排序呢 考虑一下虽然我们不能直接将所有范围内的数字都使用count数组进行排序但是我们可以考虑按数字的位数来进行n轮count排序每一轮都只对数字的某一位进行排序。 最终仍然可以得到结果并且还可以摆脱count数组大小的限制这就是基数排序。 假如我们现在数组的元素是1221, 15, 20, 3681, 277, 5420, 71, 1522, 4793。 先看动画看下最直观的基数排序的过程 在上面的例子中我们先对个位进行count排序然后对十位进行count排序然后是百位和千位。 最后生成最终的排序结果。 基数排序的java代码实现 因为基数排序实际上是分别按位数的count排序。所以我们可以重用之前写的count排序的代码只是需要进行一些改造。 doCountingSort方法除了传入数组外还需要传入排序的位数digit我们用1101001000来表示。 看一下改造过后的doCountingSort方法 public void doRadixSort(int[] array, int digit){int n array.length;// 存储排序过后的数组int output[] new int[n];// count数组用来存储统计各个元素出现的次数int count[] new int[10];Arrays.fill(count,0);log.info(初始化count值:{},count);// 将原始数组中数据出现次数存入count数组for (int i0; in; i) {count[(array[i]/digit)%10];}log.info(count之后count值:{},count);// 这里是一个小技巧我们根据count中元素出现的次数计算对应元素第一次应该出现在output中的下标。//这里的下标是从右往左数的for (int i1; i10; i) {count[i] count[i - 1];}log.info(整理count对应的output下标:{},count);// 根据count中的下标构建排序后的数组//插入一个之后相应的count下标要减一for (int i n-1; i0; i--){output[count[(array[i]/digit)%10]-1] array[i];count[(array[i]/digit)%10]--;}log.info(构建output之后的output值:{},output);//将排序后的数组写回原数组for (int i 0; in; i)array[i] output[i];} 跟count排序变化不大区别就是这里我们需要使用count[(array[i]/digit)%10]来对每一位进行排序。 另外为了计算出位数digit的值我们还需要拿到数组中最大元素的值 public int getMax(int[] array){int mx array[0];for (int i 1; i array.length; i)if (array[i] mx){mx array[i];}return mx;} 看下怎么调用 public static void main(String[] args) {int[] array {1221, 15, 20, 3681, 277, 5420, 71, 1522, 4793};RadixSort radixSortnew RadixSort();log.info(radixSort之前的数组为:{},array);//拿到数组的最大值用于计算digitint max radixSort.getMax(array);//根据位数遍历进行count排序for (int digit 1; max/digit 0; digit * 10){radixSort.doRadixSort(array,digit);}} 看下输出结果 很好结果都排序了。 基数排序的时间复杂度 从计算过程我们可以看出基数排序的时间复杂度是O(d*(nb)) 其中b是数字的进制数比如上面我们使用的是10进制那么b10。 d是需要循环的轮数也就是数组中最大数的位数。假如数组中最大的数字用K表示那么dlogb(k)。 综上基数排序的时间复杂度是O((nb) * logb(k))。 当k nc其中c是常量时上面的时间复杂度可以近似等于O(nLogb(n))。 考虑下当bn的情况下基数排序的时间复杂度可以近似等于线性时间复杂度O(n)。 原文链接 本文为阿里云原创内容未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83370.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我想创建一个网站外国教程网站有哪些

JavaScript中有很多用于操作数组的内置函数。以下是一些常用的数组函数: 1. Array.prototype.push(): 向数组末尾添加一个或多个元素,并返回新数组的长度。 2. Array.prototype.pop(): 删除并返回数组的最后一个元素。 3. Array.prototype.unshift(): 向…

陕西企业网站建设哪家好如何做阿里巴巴网站

EBSE专题连载共分为“五个”篇章。此文为该连载系列的“第四”篇章,在之前的“篇章(三)”中已经结合具体研究实践阐述了“步骤二,通过系统调研确定改进方案”等内容。那么,在本篇章(四)中&#…

怎么建立企业网站平台网站建设项目进度表

个人记录 Gitee创建账号 以KS进销存系统为例,下载到本地电脑解压。 新建私有仓库 仓库名称:ks-vue3,选择‘私有’ 本地配置 下载安装git配置git 第一次配置可以在本地目录右键【Open Git Bash here】输入【Git 全局设置】再输入【创…

2015百度竞价单页面网站模板源码设计中国铁路保险网站

目录 一.ChatGPT的发展历程 二.Attention is all you need 三.对于GPT-4的智能水平评估 四.大语言模型的技术演化 1.从符号主义到连接主义 2.特征工程 2.1数据探索 2.2数据清洗 2.3数据预处理 2.3.1无量纲化 2.3.1.1标准化 2.3.1.2区间缩放法 2.3.1.3标准化与归一…

国内做优秀的农业信息网站金属材料东莞网站建设

字符串类的charAt() 方法可返回指定位置的字符。 stringObject.charAt(index)从键盘输入获取了一个字符串,将其数据类型转换为字符型。 Scanner scan new Scanner(System.in); String str scan.next(); char ca str.charAt(0);示例: import java.u…

长春网站建设公司哪个好专业建站培训

树莓派2代的Model B采用Broadcom BCM2836 900MHz的四核SoC,1GB内存,是新一代开拓者,兼容1代B。相比之下,树莓派2的性能比1代提升6倍,内存翻了一番。Raspberry Pi 2不仅能跑全系列ARM GNU/Linux发行版,而且支…

ps网站首页效果图实例创意营销策划案例

C 实现 定义以下三个类; 狼类(Wolf):成员变量姓名:stringName,成员变量爪子锋利度:intShape,成员函数:voidPrintStateO,按照姓名、爪子锋利度格式输出两个成员变量的值。←人类(Human):成员变量姓名:stringName,成员变量智力:intIntell,成员函…

高埗做网站做h5的网站页面设计

终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直到登录接口的参数…

网站微营销公司哪家好网站找谁做

Alibaba分布式事务组件Seata实战 事务 本地事务 对于操作单一数据库的场景下的事务,ACIO特性是数据库直接支持的 分布式事务 在分布式情况下,需要的操作资源分布在多个资源服务上,而应用需要保证对于多个资源服务器的数据操作要么全部成…

古德设计官网网站建设网站优化相关资讯文章

第一个罚球,戴维斯出手后,听到哐当医生,皮球掉了出来。我又紧张了。微信群了很多人开始发消息,说詹姆斯队又要输了。回到比赛。戴维斯当时没有任何微笑,我估计他内心也是紧张的,他有点埋怨哈登,…

企业网站接入微信支付千锋教育培训

码到三十五 : 个人主页 目录 一、引言二、享元设计模式的概念1. 对象状态的划分2. 共享机制 三、享元设计模式的组成四、享元设计模式的工作原理五、享元模式的使用六、享元设计模式的优点和适用场景结语 [参见]: Java设计模式:核心概述&…

咸阳做网站托管浏览器网址导航大全

文章目录 持久化配置慢查询命令及安全配置内存配置 持久化配置 慢查询 命令及安全配置 漏洞:Redis未授权访问配合SSH key文件利用分析-腾讯云开发者社区-腾讯云 (tencent.com) 漏洞出现的核心的原因有以下几点 Redis未设置密码利用了Redis的config set命令动态修…

河北建设厅网站登陆怎么找附件有什么做兼职的好的网站吗

PureFlash云原生存储 PureFlash是一个开源存储系统,它能为云计算和传统应用提供块存储服务。PureFlash最显著的优势是其高性能,每节点能提供超过100万IOPS随机写IO。 PureFlash可以以云原生的方式部署,并为云原生应用提供持久存储。 PureFl…

上海市建设质量协会网站怀化市优化办电话

前言 刚开始,以为做性能测试,就是做些脚本、参数化、关联,压起来之后,再扔出一个结果。 但实际上不止这些内容,还要加上性能分析,关注调优之后响应时间有多大的提升,TPS 有多大的提高&#xf…

建卖手机网站大连信息网

netbeans调试使用NetBeans的Java EE开发人员习惯于直接在NetBeans所选择的应用程序服务器中运行和调试其瘦战应用程序。 在开发打包为ber或镂空jars的微服务时,您期望使用相同的轻松方式进行运行和调试。 好消息是您可以。 在本文中,我将逐步介绍如何在N…

凡科可以做淘客网站吗网站关键词词库怎么做

背景 随着智能门禁等物联网产品的普及,越来越多的开发者对音视频互动体验提出了更高的要求。目前市面上大多一对一互动都是基于WebRTC,优点不再赘述,我们这里先说说可能需要面临的问题:WebRTC的服务器部署非常复杂,可…

做网站是什么行业黄页888

本文转载自:http://book.2cto.com/201211/7897.html 市面上的数据库数量成爆炸式增长,要在它们之间进行权衡是很困难的。幸运的是,它们之中的大多数数据库都能归在几个分类里。本节中,我会描述简单及复杂的键值存储、关系型数据库…

文章类网站重庆php网站建设

spring cloud- Gateway实战二:负载均衡 负载均衡简单了解一)、实操案例-自动负载均衡二)、实操案例-手动负载均衡1、手动负载均衡方式一2、手动负载均衡方式二负载均衡 简单了解 我们引入负载均衡,主要是为了 让网络流量能均匀的分发到多个服务器上,以此来提高系统性能、…

阿里云服务器建网站贵州省建设厅网站首页

分布式锁概念 为什么使用分布式锁 假设有这样一个场景,双十一抢iphone15ProMax手机场景,可以抢多台。操作数据库接口如下: void reduceInventory(Long id,int count) {//1.拿到数量信息Product product mapper.selectById(id);//2.修改数量…

yii2框架做的网站有哪些在wordpress中 怎么把主题删掉

Java进阶十—JDBC 一.说明 用Java语言操作Mysql,首先需要学习Mysql MySQL入门教程-CSDN博客 二.JDBC的由来以及定义 JDBC是什么? Java数据库连接(Java Database Connectivity)简称JDBCJDBC是Java操作各数据库的一种规范,是Java语言中用来…