【轉】算法總結-這是一份全面並且詳細的排序算法學習指南


算法總結-這是一份全面並且詳細的排序算法學習指南

覺得有用的話,歡迎一起討論相互學習~

我的微博我的github我的B站


本文轉載自:CSDN博主-Carson帶你學Android
本文僅做學術分享,如有侵權,請聯系后天刪除

版權聲明:本文為CSDN博主「Carson帶你學Android」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/carson_ho/article/details/121204011

目錄

示意圖


1. 簡介

示意圖

注:在本文中,主要介紹 內排序中的排序算法。


2. 排序算法介紹

在內排序算法中,可按照 排序原理 & 排序復雜度 進行分類

示意圖

下面,我將根據 排序原理的分類 來介紹 內排序中的所有排序算法。

2.1 交換排序類

包括:冒泡排序 & 快速排序(冒泡排序的優化),具體請看文章:

2.2 插入排序類

包括:直接插入排序 & 希爾排序(直接插入排序的優化),具體請看文章:

2.3 選擇排序類

包括:簡單選擇排序 & 堆排序(簡單選擇排序的優化),具體請看文章:

2.4 歸並排序類

主要是:排序算法:歸並排序


3. 排序算法對比

示意圖


4. 應用場景分析

示意圖

即:

  • 最簡單的排序算法:冒泡排序
  • 一般情況下性能最好的排序算法:快速排序
  • 不可不了解的排序算法:直接插入排序
  • 復雜度最高的排序算法:希爾排序
  • 穩定性最高的排序算法:歸並排序
  • 數據量大時最該選擇的算法:簡單選擇排序
  • 內存占用最少的排序算法:堆排序

5. 總結

下面,用一張圖總結所有排序算法的相關

示意圖


免責聲明!

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



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