10大經典排序演算法動畫
來源:五分鐘學演算法(ID:blgczzz)
排序演算法是《資料結構與演算法》中最基本的演算法之一。
排序演算法可以分為內部排序和外部排序。
內部排序是資料記錄在記憶體中進行排序。
而外部排序是因排序的資料很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。
常見的內部排序演算法有:插入排序、希爾排序、選擇排序、氣泡排序、歸併排序、快速排序、堆排序、基數排序等。
用一張圖概括:
關於時間複雜度:
平方階 (O(n2)) 排序 各類簡單排序:直接插入、直接選擇和氣泡排序。
線性對數階 (O(nlog2n)) 排序 快速排序、堆排序和歸併排序;
O(n1+§)) 排序,§ 是介於 0 和 1 之間的常數。 希爾排序
線性階 (O(n)) 排序 基數排序,此外還有桶、箱排序。
關於穩定性:
穩定的排序演算法:氣泡排序、插入排序、歸併排序和基數排序。
不是穩定的排序演算法:選擇排序、快速排序、希爾排序、堆排序。
氣泡排序
選擇排序
插入排序
希爾排序
歸併排序
快速排序
堆排序
計數排序
桶排序
基數排序
文章思路開源專案地址:https://github.com/hustcc/JS-Sorting-Algorithm,整理人 hustcc。
PS:如果覺得我的分享不錯,歡迎大家隨手點贊、轉發。
(完)
Java團長
專注於Java乾貨分享
掃描上方二維碼獲取更多Java乾貨
相關文章
- 十大經典排序演算法動畫與解析排序演算法動畫
- 十大經典排序演算法動畫,看我就夠了!排序演算法動畫
- 十大經典排序演算法動畫與解析,看我就夠了排序演算法動畫
- 十大經典排序演算法動畫解析和 Java 程式碼實現排序演算法動畫Java
- 十大經典排序演算法(動圖演示)排序演算法
- 排序演算法(七大經典排序演算法)排序演算法
- 經典排序演算法回顧:排序演算法
- JavaScript實現經典排序演算法JavaScript排序演算法
- 幾種經典的排序演算法排序演算法
- 經典排序演算法PHP實現排序演算法PHP
- 十大經典排序演算法之氣泡排序排序演算法
- 經典排序演算法 — C# 版(上)排序演算法C#
- 用 PHP 實現經典排序演算法PHP排序演算法
- 經典排序演算法 — C#版本(中)排序演算法C#
- 十大經典排序演算法(動圖演示,收藏好文)排序演算法
- 十大經典排序演算法動畫與解析,看我就夠了!(配程式碼完全版)排序演算法動畫
- Swift實現八種經典排序演算法Swift排序演算法
- PHP 中四大經典排序演算法PHP排序演算法
- Java實現十個經典排序演算法(帶動態效果圖)Java排序演算法
- 看動畫學演算法之:排序-count排序動畫演算法排序
- 看動畫學演算法之:排序-快速排序動畫演算法排序
- 你“聽”過這些經典排序演算法嗎?排序演算法
- 【排序演算法動畫解】排序介紹及氣泡排序排序演算法動畫
- 看動畫學演算法之:排序-基數排序動畫演算法排序
- 經典排序之選擇排序(Java)排序Java
- 經典排序演算法的 C語言 | Java 實現排序演算法C語言Java
- 11.經典O(n²)比較型排序演算法排序演算法
- 【演算法與資料結構】經典排序演算法總結演算法資料結構排序
- 【排序演算法動畫解】直接插入排序排序演算法動畫
- 經典十大排序演算法(含升序降序,基數排序含負數排序)排序演算法
- BAT 經典演算法筆試題 —— 磁碟多路歸併排序BAT演算法筆試排序
- Java十大經典排序演算法最強總結Java排序演算法
- 轉載:十大經典排序的演算法部落格排序演算法
- 經典演算法(19)教你兩分鐘學會【選擇排序】演算法排序
- 畫江湖之演算法篇【排序演算法】快速排序演算法排序
- 畫江湖之演算法篇 [排序演算法] 快速排序演算法排序
- Lisp經典演算法Lisp演算法
- 【計理02組06號】十大經典排序演算法【上篇】排序演算法