算法總結-這是一份全面並且詳細的排序算法學習指南
覺得有用的話,歡迎一起討論相互學習~
本文轉載自: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. 總結
下面,用一張圖總結所有排序算法的相關