数据结构笔记 第八章 排序

第八章 排序

  • 排序的基本概念
  • 插入排序
    • 直接插入排序;折半插入排序;希尔排序
  • 交换排序
    • 冒泡排序;快速排序
  • 选择排序
    • 简单选择排序;堆排序
  • 2路归并排序
  • 基数排序
  • 外部排序
  • 各种排序算法的比较
  • 排序算法的应用
    image-20210901155631279
    image-20210904210933332
    image-20211028000521139
    直接插入 躺数 固定 n-1

简单选择 躺数 固定 n-1

基数排序不能对 float double实数进行排序 躺数 固定 d

快排 越有序 越不利

堆排序 和归并排序 无论数列是否有序 时间复杂度 都不变 nlogn

算法复杂度与初始状态无关的有:选择排序、堆排序、归并排序、基数排序。

元素总比较次数与初始状态无关的有:选择排序、基数排序。
元素总移动次数与初始状态无关的有:归并排序、基数排序。

排序趟数与初始状态有关的有:快排、冒泡排序。

每趟都能确定一个元素最终位置 简单,快排(基准) ,冒泡,堆

1.排序的基本概念

image-20210831192706655

image-20210901150024000

image-20210901150239881

image-20210901150400318

2.插入排序

每次将一个待排序的元素 按其关键字的大小 插入到前面排好序的序列

image-20210901150833254

image-20210901150959122

image-20210901151220767

image-20210901151432719

image-20210901151621125

image-20210901151751526

image-20210901152018657

image-20210901152112769

3.希尔排序

image-20210901152519009

image-20210901152701603

image-20210901152720722

image-20210901152801917

image-20210901152838990

image-20210901152902314

image-20210901153526635

image-20210901155138576

image-20210901155257977

4.冒泡排序

image-20210901160459179

image-20210901160534280

image-20210901160705163

image-20210901160953706

image-20210901161105999

5.快速排序

image-20210901161326415

image-20210901161546537

image-20210901161616864

image-20210901162352399

image-20210901162652872

image-20210901162744800

image-20210901163034963

image-20210901162959703

快速排序 不稳定

image-20210903215940486

6.简单选择排序

image-20210901163347131

image-20210901163510482

image-20210901163523566

image-20210901163609195

image-20210901163633447

image-20210901163723871

7.堆排序

image-20210901163835576

image-20210901164126724

image-20210901164424342

image-20210901164504637

image-20210901164706685

image-20210901164828827

image-20210901165355196

image-20210901165602573

image-20210901165650215

image-20210901165750581

image-20210901170127473

image-20210901170258149

image-20210901170510001

8.堆的插入和删除

image-20210902155842311

image-20210902160112804

image-20210902160529413

9.归并排序

image-20210902160715932

image-20210902160832304

image-20210902161003700

image-20210902161259252

image-20210902161640454

image-20210902161717622

image-20210902162716588

image-20210902162831753

10.基数排序

步骤 分配(按照一位数字的大小)

​ 收集()

image-20210902164314981

image-20210902164653455

image-20210902164942426

image-20210902165131507

image-20210902165441392

image-20210902165508673

11.外部排序

image-20210902193508046

image-20210902193838815

image-20210902193756306

image-20210902194243553

image-20210902194549601

image-20210902194453781

image-20210902201802328

image-20210902201854867

image-20210902202035613

image-20210902202053565

image-20210902202354590

image-20210902202755911

image-20210902202825941

image-20210902202953191

image-20210902203124958

12.败者树(减少关键字对比次数)

image-20210902203611275

image-20210902203837167

image-20210902203922434

image-20210902204334639

13.置换选择排序(进一步减少归并段的数量)

image-20210902204642683

image-20210902204821316

image-20210902204850601

image-20210902204920873

image-20210902205051254

image-20210902205156385

14.最佳归并树

image-20210902205746923

image-20210902210039843

image-20210902210240973

image-20210902210411621

image-20210902210806241

image-20210902210725036

                                                       |
posted @ 2021-10-27 23:57  有空就一起吃饭吧  阅读(323)  评论(0编辑  收藏  举报