美文网首页
C#桶排序

C#桶排序

作者: 本来想取long但是有人用了 | 来源:发表于2016-12-03 10:22 被阅读0次

桶排序不愧为比快排还要快的排序方法(一定的意义上)

桶排序:

首先定义一个大容量的整型数组例如int[] intArray={1,5,483,89,3,489,5,.....};

数组种有多个元素,首先获取最大值则可以列一个数组int intNewArray=[max];

可以看做为0到max长度值全为0的数组

{0,1,2,3,4,5,6,7,8.....,max};

一个从最小值到最大值的数组然后做一次循环使intArray的值达到对应的位置入1到入intNewArray{0,1,0,0,0,0,0,,0,0};

则使intArray的值全都到入intNewArray上,然后遍历输出intNewArray的值为0可以跳过,若原数组有0可以进行判断

无序数组有个要求,就是成员隶属于固定(有限的)的区间,如范围为[0-9](考试分数为1-100等)

例如待排数字[6 2 4 1 5 9]

准备10个空桶,最大数个空桶

[6 2 4 1 5 9]           待排数组

[0 0 0 0 0 0 0 0 0 0]   空桶

[0 1 2 3 4 5 6 7 8 9]   桶编号(实际不存在)

1,顺序从待排数组中取出数字,首先6被取出,然后把6入6号桶,这个过程类似这样:空桶[ 待排数组[ 0 ] ] = 待排数组[ 0 ]

[62 4 1 5 9]           待排数组

[0 0 0 0 0 010 0 0]   空桶

[0 1 2 3 4 567 8 9]   桶编号(实际不存在)

2,顺序从待排数组中取出下一个数字,此时2被取出,将其放入2号桶,是几就放几号桶

[6 24 1 5 9]           待排数组

[0 010 0 0 1 0 0 0]   空桶

[0 123 4 5 6 7 8 9]   桶编号(实际不存在)

3,4,5,6省略,过程一样,全部入桶后变成下边这样

[6 2 41 5 9]           待排数组

[011 0 11 1 0 0 1]   空桶

[01 2345 6 7 89]   桶编号(实际不存在)

可能这只是浅的理解 有错误请指出

部分转载http://www.cnblogs.com/kkun/archive/2011/11/23/2260267.html

相关文章

  • C#桶排序

    桶排序不愧为比快排还要快的排序方法(一定的意义上) 桶排序: 首先定义一个大容量的整型数组例如int[] intA...

  • 算法基础 排序(一)

    桶排序冒泡排序快速排序 1.桶排序 所谓的桶排序就是列出所有的可能进行排序 小结:这里的桶排序只是简化版的.桶排序...

  • 《数据结构与算法之美》10——排序(三)桶排序、计数排序、基数排

    桶排序 概念 桶排序,核心思想是将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行排序。桶内排序之后,再把...

  • 桶排序

    什么是桶排序桶排序是计数排序的衍化桶排序需要创建若干个桶来装元素协助排序。每一个桶(bucket)代表一个区间范围...

  • 桶排序,计数排序和基数排序

    桶排序 桶排序的核心思路 桶排序的核心处理思想是先定义几个有序的桶,将要排序的数组按照桶划分的值的范围分到这几个桶...

  • 桶排序与哈希桶排序

    一.桶排序 算法原理 桶排序 (箱排序)的原理是将待排序序列分到有限数量的桶里面,然后对每个桶再分别排序(可以使用...

  • php-计数排序、基数排序、桶排序

    计数排序、基数排序、桶排序 时间复杂度 O(n) 计数排序 基数排序 桶排序

  • 数组-桶排序

    采用桶排序方式对数组进行排序 桶排序百科:桶排序(Bucket Sort),或者所谓的箱排序是一种非比较排序.工作...

  • 13|桶排序

    桶排序( Bucket sort )首先,我们来看桶排序。桶排序,顾名思义,会用到 “ 桶 ” ,核心思想是将要排...

  • 线性排序

    桶排序 核心思想是将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行排序。桶内排序完之后,再把每个桶里的数...

网友评论

      本文标题:C#桶排序

      本文链接:https://www.haomeiwen.com/subject/cbfcmttx.html