看动画学算法之:排序-count排序
生活随笔
收集整理的這篇文章主要介紹了
看动画学算法之:排序-count排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 簡介
- count排序的例子
- count排序的java實現
- count排序的第二種方法
- count排序的時間復雜度
簡介
今天我們介紹一種不需要作比較就能排序的算法:count排序。
count排序是一種空間換時間的算法,我們借助一個外部的count數組來統計各個元素出現的次數,從而最終完成排序。
count排序的例子
count排序有一定的限制,因為外部的count數組長度是和原數組的元素范圍是一致的,所以count排序一般只適合數組中元素范圍比較小的情況。
我們舉一個0-9的元素的排序的例子:3,4,2,5,6,2,4,9,1,3,5。
先看一個動畫,看看是怎么排序的:
count數組里面存放的是從0到9這些元素出現的次數。
我們遍歷原始數組,遇到相應的數字就給相應的count+1。
等所有的元素都count之后,再根據count數組中的值還原排序過后的數組。
count排序的java實現
count排序很簡單,我們主要掌握下面兩個大的步驟:
總結
以上是生活随笔為你收集整理的看动画学算法之:排序-count排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JVM系列之:对象的锁状态和同步
- 下一篇: 一文了解JDK12 13 14 GC调优