块内排序方便二分,然后进行类似于冒泡排序的更新即可。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const int INF = 1000000000;...
分类:
其他好文 时间:
2015-08-20 20:34:46
阅读次数:
108
排序根据是否使用外存分为内排序和外排序,内排序只使用内存进行数据存储,外排序由于数据量比较大需要借助外存。
排序的稳定性:排序的稳定性是指排序之后相同的数据元素相对位置不变则为稳定排序,否则为不稳定排序。
插入排序
直接插入排序
思想:将一个记录插入到已经排序的有序表中,从而得到一个新的、个数加1的有序表。这个过程在查找位置过程中进行记录移动,而不用显示的交换元素
public...
分类:
编程语言 时间:
2015-08-18 19:35:11
阅读次数:
155
排序:对一序列对象根据某个关键字进行排序;
稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;
例如:插入排序、冒泡排序、归并排序、计数排序、基数排序、桶排序
不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;
例如:选择排序(5 8 5 2 9)、快速排序、堆排序
内排序:不占用额外内...
分类:
编程语言 时间:
2015-08-16 23:12:27
阅读次数:
172
排序分内排序和外排序。内排序:指在排序期间数据对象全部存放在内存的排序。外排序:指在排序期间全部对象个数太多,不能同时存放在内存,必须根据排序过程的要求,不断在内、外存之间移动的排序。内排序的方法有许多种,按所用策略不同,可归纳为五类:插入排序、选择排序、交换排序、归并排序、分配排序和计数排序。插入排序主要包括直接插入排序,折半插入排序和希尔排序两种;选择排序主要包括直接选择排序和堆排序;交换排序...
分类:
编程语言 时间:
2015-08-03 22:53:18
阅读次数:
251
快速排序是冒泡排序的改进版,也是最好的一种内排序,在很多面试题中都会出现,也是作为程序员必须掌握的一种排序方法。思想:1.在待排序的元素任取一个元素作为基准(通常选第一个元素,但最的选择方法是从待排序元素中随机选取一个作为基准),称为基准元素; 2.将待排序的元素进行分区,比基准元素大的元素放在.....
分类:
编程语言 时间:
2015-07-28 00:34:31
阅读次数:
129
给出长度为n的字符串,m个操作。
每个操作有三个值 l,r,op。
op==1,表示将字符串中[ l ,r ]的部分按照升序排列。
op==0,表示将字符串中[ l ,r ]的部分按照降序排列。
输出最终的字符串
按小写字母建26颗线段树
对于每次修改,先记录[l,r]区间内各个字母出现的次数,并对相应区间清空,然后按照升序或者降序从新更新
#include "std...
分类:
编程语言 时间:
2015-07-22 13:02:42
阅读次数:
168
快速排序时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KB比赛描述给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中快速排序算法进行排序,并输出排序最后结果的相应序列。输入 共两行,第一行给出排序元素数目n,第二行给出n个元素...
分类:
编程语言 时间:
2015-07-22 12:23:08
阅读次数:
132
根据排序过程中借助的主要操作,我们将内排序分为四类: 插入排序类 直接插入排序 希尔排序 选择排序类 简单选择排序 堆排序 交换排序类 冒泡排序 快速排序 归并排序类 归并排序从算法的简单性来看,我们将7种算法分为两类:简单算法:冒泡排序、简单选择排序、直接插入排序改进...
分类:
编程语言 时间:
2015-07-18 16:47:34
阅读次数:
142
排序可分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,称为内排序;如果排序过程中需要使用外存,则成为外排序。
内排序有以下几类:
插入类排序:直接插入排序、二分法(折半)插入排序、希尔(缩小增量)排序
选择类排序:简单选择排序、堆排序
交换类排序:冒泡排序、快速排序、三路划分的快速排序
归并类排序:二路归并排序
基数类排序:MSD基数排序、LSD基数排序
各种内部排序算法的比较直接插入...
分类:
编程语言 时间:
2015-07-18 11:09:15
阅读次数:
165
内排序:指在排序期间数据对象所有存放在内存的排序。外排序:指在排序期间所有对象太多,不能同一时候存放在内存中,必须依据排序过程的要求,不断在内,外存间移动的排序。依据排序元素所在位置的不同,排序分:内排序和外排序。内排序:在排序过程中,全部元素调到内存中进行的排序,称为内排序。内排序是排序的基础。内...
分类:
编程语言 时间:
2015-07-16 22:04:39
阅读次数:
214