内排序 笔记

内排序:指在排序期间数据对象全部存放在内存的排序。

外排序:指在排序期间全部对象太多,不能同时存放在内存中,必须根据排序过程的要求,不断在内,外存间移动的排序。

根据排序元素所在位置的不同,排序分: 内排序和外排序。

内排序:在排序过程中,所有元素调到内存中进行的排序,称为内排序。内排序是排序的基础。内排序效率用比较次数来衡量。按所用策略不同,内排序又可分为插入排序、选择排序、交换排序、归并排序及基数排序等几大类。

外排序:在数据量大的情况下,只能分块排序,但块与块间不能保证有序。外排序用读/写外存的次数来衡量其效率


 排序,就是对一个序列中的记录来进行的一种操作。

序列:我们前面介绍过的线性表。

而表中的元素呢,在我们这里称为记录。它是排序的基本单位。

在排序问题中,我们很多情况下是针对那种能够唯一标示这个记录的关键码来进行的。但是在有一些情况下,我们可能是要对若干个域,或者是说有重复的这些域,来进行排序。

啊例如,我们对姓名来排序的话,可能就有重名的情况。那我们的排序问题呢,就是根据这个排序码,我们来对这个序列,进行操作,然后形成一个不降的这么一个序列,或者是一个不增的一个序列。整个排序我们如果是规模比较小的情况下,我们可以认为是在内存完成的。

 因为它是线性表,所以我们可以看作是在数组里面来进行的。特别是我们的输入是放在数组里面,输出也放在数组里面。

排序的稳定性

假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。

进行严格的形式证明

排序算法衡量标准

时间:记录的比较和移动次数

空间:主要是指我们为了完成这个排序方法,所需要的辅助空间。例如,如果我们要对n个元素的数组进行排序。那如果我需要给出一个,同样具有n个这样的元素大小的辅助空间,那它就是O n的一个空间代价。那如果我只需要用到一个临时变量来临时的存放这个大排数组里面的某一个记录,那它就是O 1的空间。 另外还要考虑,算法本身的繁杂程度。因为排序是在计算机里面反复使用的这么一个基础算法。那也就是说,算法本身它是不是易于编写,是不是可读,可维护等等,也是非常重要的。

插入排序 :直接插入和shell 希尔排序 n的平方 基本有序的情况下,最有利

延伸 shell 排序 二分法 增量为数组长度的一半,进行排序,时间复杂度越来越接近于n

算法改进 采用除以3的增量,2的k次方减1,达到n的1.5次方

2的p次方乘上3的q次方 可以达到n*log(2)n

选择排序 :直接选择排序 堆排序

直接选择排序:不稳定 n的平方

算法的稳定性定义为,对于待排序列中相同项的原来次序不能被算法改变则称该算法稳定.

比如待排序列为:(2) 3 6 [2] 4 5 ,,,序列中的(2)排在[2]前面,不能因为算法把[2]排到(2)前面.

直接选择排序算法,不稳定性,举个简单的例子,就知道它是否稳定..例如:(7) 2 5 9 3 4 [7] 1...当我们利用直接选择排序算法进行排序时候,(7)和1调换,(7)就跑到了[7]的后面了,原来的次序改变了,这样就不稳定了.

堆排序

 堆排序呢,它的建堆过程是θ(n)的。那我们删除堆顶呢,如果堆里面有n个元素,它就是logn的。如果是i个元素呢,应该是logi的。 那我们整个这个排序的过程是一次建堆,然后有啊n-1次删除堆顶的操作。那我们总的时间代价呢是n logn的。空间代价主要是用在我们进行这个元素的交换或者是移动的时候,那种辅助的空间。那这个辅助空间的代价是θ(1)的。

交换排序:冒泡排序和快速排序

冒泡 n的平方 空间n

快速排序,中值,递归

基于分治法:快速和归并

n*log n  log n

算法优化方案:轴值的选择,消除递归,用栈和队列

分配和基数排序

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容