版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
@M了个
实 教育
排序后:1,2,3,4,5,6,7,8,9(升序)或者9,8,7,6,5,4,3,2,1(降序冒泡排序(Bubble✔✔选择排序(Selection✔❌插入排序(Insertion✔✔归并排序(Merge❌✔快速排序(Quick✔❌排序(SO(n4/3)~✔❌堆排序(Heap✔❌计数排序(CountingO(n+O(n+O(n+O(n+❌✔基数排序(RadixO(d∗(n+O(d∗(n+O(d∗(n+O(n+❌✔桶排序(BucketO(n+O(n+O(n+O(n+❌✔ 冒泡排序(Bubble执行流程(本课程统一以升序为例子9最后次交换的位置是排序前:5, 3𝑎,4,7,稳定的排序: 不稳定的排序:1,3𝑏,
5,4, 原地算法(In-place不依赖额外的资源或者依赖少数的 空间复杂度为𝑂(1)In-
选择排序(Selection
堆排序(Heap01012345①对序列进行原地建堆01201234501234501次siftDown012345012345012345012345 插入排序(Insertion插入排序非常类似 牌的排2
2,3,8,6,1>2,1>3,1>8,18,66,1>,共59898765432898976543278978965432678678954325656789432454567893234567892甚至速度比34567892232345678901234012345012345012345二分搜索(Binary00123456789 0123456789beginendv,midbegin+endvmbeginmidv>mmid1endv==m≤m≥v>v<v>mid+≤≥搜索 搜0123012345672468 2468456721 begin==end==1v的插入过程中,可以先二分搜索出合适的插入位置,然后再将元素v0123456724888要求二分搜索返回的插入位置:第1vv5,v1,v15,v8,返回beginendv,midbegin+endvmbeginmidv≥mmid1end≤m≥v≥v<v≥mid+≤≥
0120123456724888012345672488801230123248 82020begin==end==
begin==end==
4884888012345672468 7begin==end==
begin==end==012345672488845678 85begin==end==归并排序(Merge8765432 (John8765432345625634562567812342②不断地将2
21436521436512345678divide836 836 83 6836383636 83636 83 6836368836368836368mergemerge2 836merge1组序列备份出来,比如[begin 8368
li==0,le==mid–ri==mid,re==
83 3833868338683386 83 833668336883368merge
63 36336863368633686336863368merge
8 8883683368336 8 83636 8 83686 8 8368mergeT =2∗T +T =Tn/n=Tn/2/(n/2)+令S =TnS =S =S +O(1)=ST =n∗S =
+O(2)=S +O(3)=S +O =S +O(logn)= 、平均时间复杂度都是O(nlogn),属于稳定排On/2n/2用于临时存放左侧数组,logn
=复杂Tn=Tn/2+Tn=Tn−1+Tn=Tn/2+Tn=2∗Tn/2+Tn=2∗Tn/2+Tn=Tn−1+OTn=2∗Tn−1+O2nTn=2∗Tn−1+O2n .om/problems/merge-sorted- 快速排序(Quick1960年 ·霍尔(CharlesAntonyRichardHoare,缩写为C.A.R.Hoare)提昵称 686829469876987②利用pivot2213546213546789pivot的元素放在pivot后面(右侧123123456789
begin
249575424972495754297552495754297524975429752497542977171234566123457T =2∗T +612345751234675123467T =Tn− +O =4123567为了降 4123567313124567226767
begin
66 轴点元素可以将序列分割成2个均匀的子序思考:cmp 导致出 时间复杂度
1959年 (Donald 排序把序列看作是一个矩阵𝑚𝑚从某个整数逐渐减为𝑚为1因此 排序也被称为递减增量排序(DiminishingIncrement矩阵的列数取决于步长序列(step 列 列 列、列、列进行排本人给出的步长序列是𝑛/2𝑘,比如𝑛为16时,步长序列是{1,2,4,1分成81分成4
分成2
432936365879365879分成1
21436587921122112456789 假设有11个元素,步长序列是{1,2,9876543219876987654321colrow行,步长(总列数)那么这个元素在数组中的索引是colrow*9202+0*5=4212+1*5=本人给出的步长序列 情况时间复杂度是目前已知的最好的步长序列 情况时间复杂度是O(n4/3),1986年由RobertSedgewick提计数排序(Counting 平均时间复杂度目前最低是它们是典型的用空间换时间,在某些时候,平均时间复杂度可以比O 更计数排序 思7358674501234567811212134556778737358674534567801234511212 124578
假设arrayarraykcountsk–arraykcounts[k–min]–p代表着是倒数第几个8counts[83117counts[73]–1 34556778counts[73]–2,735867735867457358674534567801234512457834567801234512357801234567012345675735867735867457358674534567801234511246734567801234501246701234567455678012345673455678735867453456780123450124570123456734556778 平均时间复杂度:O(n+空间复杂度:O(nk [age=-13, [age=-13, [age=12, [age=17, [age=20, [age=20,基数排序(Radix 68686868思考:如果先 最好 、平均时间复杂度:O(d∗(n+k)),d是最大值的位数,k是进制。属于稳定排空间复杂度:O(nk),k012345670123456789860123456789686801234567896868686868O(kn+k)d是最大值的位数,k
桶排序(Bucket①
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 恒大员工转正工作总结(3篇)
- 垃圾处理工程项目可行性研究报告
- 高三演讲稿450字以上(8篇范文)
- 临床诊疗指南与药物临床应用指南
- 小户型居住体验需求调查
- 高中历史教研组工作总结范文8篇
- 鱼幼儿美术教案模板8篇
- 住宅小区招投标工作指南
- 劳动合同补充协议范本
- 建筑工程安全评价合同模板
- 颈椎病护理查房 (3)PPT
- 02《文字下乡》课件13张-统编版高中语文必修上册
- 某集团公司战略地图
- 《线性代数》教案完整版教案整本书全书电子教案
- 旅游管理信息系统教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案合集最新课件汇编
- 三年级下册美术课件-第4课 瓜果飘香丨赣美版
- 绿电制绿氢及其综合利用技术PPT
- JJG646-2006移液器检定规程-(高清现行)
- 【课题研究】-《普通高中英语阅读课文教学研究》结题报告
- 严重精神障碍管理工作规范课件(PPT 39页)
- 羊常见普通病类型和防治
评论
0/150
提交评论