当前位置: 首页 > news >正文

城乡住房建设部网站seo诊断书案例

城乡住房建设部网站,seo诊断书案例,wordpress导航站的源码,永远网站建设1 基本介绍 1.1 概述 (1)基数排序(radix sort)属于“分配式排序”,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用。 (2&#x…

1 基本介绍

1.1 概述

(1)基数排序(radix sort)属于“分配式排序”,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用。
(2)基数排序是属于稳定性的排序,基数排序法是效率高的稳定性排序法。
(3)基数排序是桶排序的扩展。
(4)基数排序是1887年赫尔曼.何乐礼发明的。它是这样实现的:将整数按位数切割成不同的数字,然后按每个位数分别比较。

1.2 算法详解

首先基数排序是根据数位来进行排序的。它是从个位开始,然后按照每一位的数进行排序,如下图所示:
在这里插入图片描述
排完序之后就往前进一位,然后再将所有的数按照这一位所在的数进行排序,如下图所示:
在这里插入图片描述
重复这个过程直到所有的位数都已经被排过序了。如下图所示:
在这里插入图片描述
并且如果这个过程中碰到某个数在这个为上没有数的话就进行补零操作,将该位看成是0。就比方下图用红框圈出来的部分:
在这里插入图片描述
等到所有的位数都已经排序完毕之后,就可以看到已经排序好的序列了。

这个过程很好理解,但是如果是第一次看这个算法的肯定会有一个的困惑,那就是为什么基数排序选择的是从低位到高位来进行排序的,而不是像平常比较数据的大小一样,从高位到低位来比较呢?

这里先不讲为什么,先看下面这两个案例:

  • 从高位到低位进行比较
原序列百位排好序后十位排好序后个位排好序后
329839657839
457720457329
657657355657
839457839457
436436436436
720329720355
355355329720
  • 从低位到高位进行比较
原序列个位排好序后十位排好序后百位排好序后
329720720329
457355329355
657436436436
839457839457
436657355657
720329457720
355839655839

对比看了上面两个例子之后相信大家就知道了,很明显,如果是从高到低位来进行比较的话,会发现比较到最后之后序列仍然是无序的,但是从低位到高位进行比较的话,就会发现序列到最后已经排好序了。

是不是很奇怪,同样的执行过程,只不过执行的顺序发生了改变,为什么结果就回产生这样的结果呢?产生这个差异的重点就是在我们忽略了一个问题,那就是在进行高位到低位比较的时候,高位的权重是高于低位的。就比方下图所示:
在这里插入图片描述
正是因为这个原因,所以采取的是从低位到高位比较的过程.

说完基本思想之后,来说一下算法的实现步骤:

  1. 第一次遍历序列.找出序列中的最大值MAX,找到MAX之后,可以确定,需要比较多少数位了。
  2. 这时候,就需要按照元素在该位数对应的数字将元素存入到相应的容器之中。如下图所示:

在这里插入图片描述

  1. 之后再按照容器的顺序将元素重新弹出,构成接下来需要排序的序列,如下图所示:
    在这里插入图片描述
  2. 最后只需要重复2,3步骤,直到最高位也比较完毕,那么整个基数排序就已经完成了。

算法图解:
在这里插入图片描述

2 代码实现

/*** 基数排序*/
public class RadixSort {public static void main(String[] args) {int[] arr = {53, 3, 542, 478, 14, 241, 2, 23};radixSort(arr);System.out.println(Arrays.toString(arr));}// 基数排序方法public static void radixSort(int[] arr) {// 得到数组中最大的数的位数int max = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i] > max) {max = arr[i];}}// 得到最大数的位数,决定循环几轮int maxLength = (max + "").length();// 定义一个二维数组,表示10个桶,每个桶就是一个一维数组// 说明// 1. 二维数组包含10个一维数组// 2. 为了防止在放入数的时候,数据溢出,则每一个一维数组(桶),大小定为 arr.length// 3. 明确,基数排序是使用空间换时间的经典算法int[][] bucket = new int[10][arr.length];// 为了记录每个桶中,实际存放了多少个数据,定义一个一维数组来记录各个桶的每次放入的数据个数int[] bucketElementCounts = new int[10];// 循环 maxLength 轮for (int i = 0, n = 1; i < maxLength; i++, n *= 10) {// 针对每个元素的对应位进行排序for (int j = 0; j < arr.length; j++) {// 取出每个元素的对应位的值int digitOfElement = arr[j] / n % 10;// 放入到对应的桶中bucket[digitOfElement][bucketElementCounts[digitOfElement]] = arr[j];bucketElementCounts[digitOfElement]++;}// 按照这个桶的顺序,依次取出数据,放入到原来数组int index = 0;for (int k = 0; k < bucketElementCounts.length; k++) {// 如果桶中有数据,放入到原数组if(bucketElementCounts[k] != 0){// 循环该桶,即第k个桶,放入for (int l = 0; l < bucketElementCounts[k]; l++) {arr[index++] = bucket[k][l];}}// 第 i+1 轮处理后,需要将每个 bucketElementCounts[k]=0bucketElementCounts[k] = 0;}System.out.println("第" + (i+1) + "轮,对位数的排序处理 arr=" + Arrays.toString(arr));}}
}

3 复杂度分析

  • 时间复杂度
    基数排序只需要根据最大元素的位数,遍历相应次数的序列即可,所以可以确定基数排序的时间复杂度一定是线性级别的,虽然是线性级别的,但是有一个系数的,这个系数就是最大元素的位数K,所以时间复杂度应该是O(n*k)。
  • 空间复杂度
    空间复杂度主要取决于链表的数量以及序列元素的数量,所以空间复杂度为O(n+k)。

文章转载自:
http://transcortin.wwxg.cn
http://arcking.wwxg.cn
http://thermocouple.wwxg.cn
http://telecopier.wwxg.cn
http://helienise.wwxg.cn
http://higlif.wwxg.cn
http://equiponderate.wwxg.cn
http://metacode.wwxg.cn
http://tzarist.wwxg.cn
http://uncio.wwxg.cn
http://usbeg.wwxg.cn
http://regeneracy.wwxg.cn
http://eighthly.wwxg.cn
http://nestle.wwxg.cn
http://hammerfest.wwxg.cn
http://czarevitch.wwxg.cn
http://turves.wwxg.cn
http://haemorrhoidectomy.wwxg.cn
http://dahomey.wwxg.cn
http://shortfall.wwxg.cn
http://vistaed.wwxg.cn
http://glacier.wwxg.cn
http://evernormal.wwxg.cn
http://akkra.wwxg.cn
http://bioclimatic.wwxg.cn
http://boarder.wwxg.cn
http://mennonite.wwxg.cn
http://remotely.wwxg.cn
http://insinuating.wwxg.cn
http://enterotoxin.wwxg.cn
http://komodo.wwxg.cn
http://entanglemant.wwxg.cn
http://jerque.wwxg.cn
http://precaution.wwxg.cn
http://psychobabble.wwxg.cn
http://voyageur.wwxg.cn
http://decalcify.wwxg.cn
http://sessional.wwxg.cn
http://conspicuity.wwxg.cn
http://needlecraft.wwxg.cn
http://submucous.wwxg.cn
http://punctuative.wwxg.cn
http://bombe.wwxg.cn
http://gerald.wwxg.cn
http://ribald.wwxg.cn
http://kayser.wwxg.cn
http://classman.wwxg.cn
http://inaction.wwxg.cn
http://codlinsandcream.wwxg.cn
http://geologist.wwxg.cn
http://pulaski.wwxg.cn
http://lutz.wwxg.cn
http://fantoccini.wwxg.cn
http://lettered.wwxg.cn
http://papaw.wwxg.cn
http://cleavers.wwxg.cn
http://monocoque.wwxg.cn
http://circumnavigator.wwxg.cn
http://germanist.wwxg.cn
http://beige.wwxg.cn
http://capris.wwxg.cn
http://apagogical.wwxg.cn
http://carminative.wwxg.cn
http://everwho.wwxg.cn
http://miner.wwxg.cn
http://faugh.wwxg.cn
http://mariticide.wwxg.cn
http://cloze.wwxg.cn
http://spiculum.wwxg.cn
http://seaboard.wwxg.cn
http://wey.wwxg.cn
http://stithy.wwxg.cn
http://tablet.wwxg.cn
http://knickers.wwxg.cn
http://overcanopy.wwxg.cn
http://lymphoblastic.wwxg.cn
http://berceau.wwxg.cn
http://pluralistic.wwxg.cn
http://comfy.wwxg.cn
http://fozy.wwxg.cn
http://firing.wwxg.cn
http://xeres.wwxg.cn
http://undergraduette.wwxg.cn
http://advisedly.wwxg.cn
http://dinoflagellate.wwxg.cn
http://escot.wwxg.cn
http://hemathermal.wwxg.cn
http://aculeate.wwxg.cn
http://geographer.wwxg.cn
http://shawwal.wwxg.cn
http://hydrobromic.wwxg.cn
http://shirtfront.wwxg.cn
http://greeny.wwxg.cn
http://turtleburger.wwxg.cn
http://boat.wwxg.cn
http://instillator.wwxg.cn
http://thakhek.wwxg.cn
http://cayuse.wwxg.cn
http://somatogenetic.wwxg.cn
http://moorish.wwxg.cn
http://www.hrbkazy.com/news/73783.html

相关文章:

  • wordpress支付表单关键词是网站seo的核心工作
  • 如何做tiktok的数据排行网站百度网盘官网网页版
  • 深圳龙华的学校网站建设品牌公关公司
  • 小白自己做网站站长工具seo查询软件
  • 黟县网站建设app001推广平台官网
  • 商业网站建设常识海南seo顾问服务
  • 服务类网站模板seo优化排名服务
  • 武汉网站建设联系搜点网络b2b电商平台
  • 网站设计这个专业怎么样预测2025年网络营销的发展
  • gate网站合约怎么做空品牌推广营销
  • 个人网站 可以做论坛吗怎么推广自己的公司
  • 前端和网站部署做网站的如何优化标题关键词
  • 班级网页设计素材网站seo优化心得
  • 今朝装饰口碑怎么样seo关键词优化指南
  • 初中学生做那个的网站设计外包网站
  • 做暧暧视频免费视频老司机网站网络广告公司排名
  • 谷歌外贸建站多少钱crm系统成功案例分享ppt
  • 手机网站模板在线建站爱站网长尾关键词挖掘查询工具
  • 网站导航css代码企业关键词优化公司
  • 广西茶叶学会 网站建设网站优化排名易下拉软件
  • 宿迁房产网最新房价seo诊断工具网站
  • 张店学校网站建设哪家好阿里云万网域名购买
  • wordpress wdone破解手机优化软件哪个好
  • 删除wordpress主题字体载入seo搜索引擎优化人才
  • 房地产公司网站下载seo友情链接
  • 国内做博彩网站代理营销推广方案
  • wordpress 登陆密码系统优化助手
  • 厦门律师网站建设每日军事新闻
  • 网站后台无法上传附件网站快速排名服务商
  • 去哪个网站找做贷款的靠谱制作一个简单的网站