數據結構筆記 第八章 排序


第八章 排序

  • 排序的基本概念
  • 插入排序
    • 直接插入排序;折半插入排序;希爾排序
  • 交換排序
    • 冒泡排序;快速排序
  • 選擇排序
    • 簡單選擇排序;堆排序
  • 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

                                                       |


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM