数据结构中的排序算法分为比较排序,非比较排序。比较排序有插入排序、选择排序、交换排序、归并排序,非比较排序有计数排序、基数排序。下面是排序的具体分类:1.直接排序主要思想:使用两个指针,让一个指针从开始,另一个指针指向前一个指针的+1位置,两个数据进行比较voidI..
分类:
编程语言 时间:
2016-05-22 18:39:26
阅读次数:
282
基数排序与基数排序是两种非比较型排序。计数排序:
//************计数排序*********
//先最大-最小+1得到开辟空间数,开辟空间str,在遍历原数据arr在str相应位置计数,再遍历str将值写到原arr中
//适用在密集型数据,无重复最优可转化为位图
//时间复杂度O(N),空间复杂度O(..
分类:
编程语言 时间:
2016-05-22 18:37:27
阅读次数:
248
在前面几章中,分别介绍过冒泡排序,插入排序,选择排序以及归并排序。而在介绍散列技术时,也曾介绍过桶排序、计数排序以及奇数排序。在讨论优先级队列时,也结合堆这种结构介绍过堆排序以及更为通用的锦标赛排序。这一章将学习若干种更高级的排序算法并讨论与之相关的几个衍生问题。...
分类:
编程语言 时间:
2016-05-20 06:18:48
阅读次数:
336
对于一个int数组,请编写一个计数排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: 代码: ...
分类:
编程语言 时间:
2016-05-16 20:02:14
阅读次数:
225
前几篇博客排序算法都是 用的比较排序,时间复杂度最低的是 O(nlgn),这也是比较排序最优的时间复杂度。
这次计数排序用的是线性时间复杂度的排序,也就是说不是通过比较来确定排序顺序的。
计数排序是 假设n个元素中的每一个都是在0到k区间内的一个整数,也就是整个数组里最大的数是 k,这是我们需要一个数组B[]来存放排序的输出,用C[]来提供临时存储的空间。其中,特别有意思的是,C[i],它保存...
分类:
编程语言 时间:
2016-05-13 00:45:53
阅读次数:
145
题意:
给一个长度n的字符串,q次操作,每次操作把[l,r]排序,k=0非递增,k=1非递减。
题解:
采用计数排序的复杂度是O(n?q)O(n*q),无法通过,但有所启示。
可以看出计数就是区间求和,排序就是区间更新,可以用线段树维护。
做法是建立26棵线段树,第i棵树维护第i个字母的位置信息。
计数时,在26棵线段树内分别做一次查询,排序时根据递增还是递减,把相应的区间赋值为相应的字...
分类:
其他好文 时间:
2016-05-12 21:06:16
阅读次数:
211
1.起因(Why HBase Coprocessor)
HBase作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本的(统计数据表的总行数,需要使用Counter方法,执行一次MapReduce
Job才能得到。虽然HBase在数据存储层中集成了MapReduce,能够有效用于数据表的分布式计算。然而在很多情况下,做一些简单...
分类:
其他好文 时间:
2016-05-12 19:54:27
阅读次数:
257
(1)原理和代码以及时间复杂度分析
1.计数排序的原理:设被排序的数组为A,排序后存储到B,C为临时数组。所谓计数,首先是通过一个数组C[i]计算大小等于i的元素个数,此过程只需要一次循环遍历就可以;在此基础上,计算小于或者等于i的元素个数,也是一重循环就完成。下一步是关键:逆序循环,从length[A]到1,将A[i]放到B中第C[A[i]]个位置上。原理是:C[A[i...
分类:
编程语言 时间:
2016-05-12 17:40:19
阅读次数:
156
常见的排序算法有冒泡排序、选择排序、插入排序、堆排序、归并排序、快速排序、希尔排序、基数排序、计数排序,下面通过Java实现这些排序
1、冒泡排序
package com.buaa;
import java.util.Arrays;
/**
* @ProjectName SortingAlgorithm
* @PackageName com.buaa
* @ClassName Bubbl...
分类:
编程语言 时间:
2016-05-04 13:30:38
阅读次数:
314
一,首先我们谈谈计算字母的个数 由于字母自由26个所以我们可以新建一个数组来存放各个字母的个数。 二,计数排序法 计数排序法跟上面的例子有很大的联系,我们首先需要找到需排序数组的最大值max,然后建立一个包含max+1数的数组,用来存放0~max数字的个数。然后从头遍历该数组来对原数组进行排序。 三 ...
分类:
编程语言 时间:
2016-05-01 20:25:16
阅读次数:
233