排序算法

1.算法合集

1.一系列的计算步骤,用来将输入数据,转换成想要的输出结果。
2.算法用来解决特定问题,解决同一个问题不同算法的效率常常相差非常大。有时候差距的影响,比硬件和软件一样大。
3.排序算法,加密算法。
<一>排序算法
最常见的多项式时间算法复杂度关系为:
O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3)
指数时间算法复杂度关系为:
O(2n) < O(n!)< O(nn)
http://www.docin.com/p-1338970704.html
空间换时间

时间换空间

https://blog.csdn.net/love_chenfeng/article/details/44066407

https://blog.csdn.net/u010402786/article/details/51435735

https://baike.baidu.com/item/%E7%A9%BA%E9%97%B4%E5%A4%8D%E6%9D%82%E5%BA%A6/9664257?fr=aladdin

1.空间复杂度:

(1)是对一个算法在运行过程中临时占用存储空间大小的量度。而一般的递归算法就要有O(n)的空间复杂度了,

该算法所耗费的存储空间。

(2)一个算法在计算机存储器上所占用的存储空间,包括存储算法本身所占用的存储空间,算法的输入输出数据所占用的存储空间和算法在运行过程中临时占用的存储空间这三个方面。

(3)如当一个算法的空间复杂度为一个常量,即不随被处理数据量n的大小而改变时,可表示为O(1);当一个算法的空间复杂度与以2为底的n的对数成正比时,可表示为O(log2n);当一个算法的空间复杂度与n成线性比例关系时,可表示为O(n).若形参为数组,则只需要为它分配一个存储由实参传送来的一个地址指针的空间,即一个机器字长空间。接下来一个一个分析。

2. 时间复杂度:

(1)冒泡排序:把小的向前移动,把大的元素向后移动。 复杂度0(N²) 空间复杂度 0(1). 不会随着n的增大,不会创建一定的变量。


336DEDCC-6DD4-459E-8122-FB73455E5DBC.png
A75733A7-5261-4E8D-8D4D-93B227FE42EF.png

<2>快速排序 复杂度0(N²)
快速排序是对冒泡排序的改进.通过一趟排序将要排序的数据分割成对立的两部分,其中一部分的所有数据逗比另外一部分所有的数据小,
然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
1.先从数列中取出一个数作为基准数。(一般是首元素,)
2.分区过程,将比这个数大的放右边 小于或者等于他的数放在它的左边。
3.对左右区间重复第二部,直到各个区间只有一个数。

>>>   i = 0   j=9.  基准数。21。   右边查找小于21的j的值赋给i。  ———      找到j=7   a[i] = a[j]    i=0. j=7
4      32        43        98      54    45     23   4  66  86
    >>>   i = 1   j=7.  基准数。21。  左边查找小于21的i 的值赋给j 。    ———    找到  i=1     j = 7,  a[j] = a[i] 
4      32        43        98      54    45     23   4  66  86
4      32        43        98      54    45     23   32     66  86
    >>>  i = 1    j=7  查找小于21的j.   右边查找小于21的j的值赋给i。  ———      找到j=1   i = 1
4      32        43        98      54    45     23   32     66  86
4      21        43        98      54    45     23   32     66  86              ———     a[i] = key;

回调。 sort(a,0, 0);
sort(a,2, 9);
>>> Key = 43——————右边查找小于43的j的值赋给i。——— I= 2 j = 9.
4 21 32 98 54 45 23 32 66 86 ——— j =7 I= 2 a[i] = a[j]
>>> Key = 43——————左边查找大于43的i 的值赋给j 。——— i= 3 j = 7
4 21 32 98 54 45 23 98 66 86
>>>Key = 43——————右边查找小于43的j的值赋给i。——— j = 6 i = 3
4 21 32 23 54 45 23 98 66 86
>>>Key = 43——————左边查找大于43的i 的值赋给j 。——— j = 6 i = 4
4 21 32 23 54 45 23 98 66 86
4 21 32 23 54 45 54 98 66 86
>>>Key = 43——————右边查找小于43的j的值赋给i。——— j =5 i = 4
查找小于43的23 j= 3 <i
a[i] = key;
4 21 32 23 43 45 54 98 66 86
回调。 sort(a,2, 3);
sort(a,5, 9);

86DD3F09B3A9FAFB4ED98E1A73CDCD36.png

BEDE5ABE3CA9107F6EE8C61CB4D009EB.png

<4>归并排序 又叫分治法,将排好序的子序列合并,得到完全有序的序列,

<5>希尔排序

<6>堆排序

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

推荐阅读更多精彩内容

  • 总结一下常见的排序算法。 排序分内排序和外排序。内排序:指在排序期间数据对象全部存放在内存的排序。外排序:指在排序...
    jiangliang阅读 1,338评论 0 1
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,183评论 0 52
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,730评论 0 15
  • 参考:十大经典排序算法 0、排序算法说明 0.1排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明...
    谁在烽烟彼岸阅读 1,011评论 0 12
  • 城市是座高地 离开的人把一切都带走 下山的路绕了几十年 翻过桥 然后过了河 找个方向 在山野中回家
    青木西阅读 201评论 0 0