前面幾篇博客我們已經(jīng)陸陸續(xù)續(xù)的為大家介紹了7種排序方式,今天博客的主題依然與排序算法相關(guān)。今天這篇博客就來聊聊基數(shù)排序,基數(shù)排序算法是不穩(wěn)定的排序算法,在排序數(shù)字較小的情況下,基數(shù)排序算法的效率還是比較高的。今天就來聊一下基數(shù)排序算法的原理以及代碼的具體實現(xiàn)。
一、基數(shù)排序算法示意圖
下方的基數(shù)排序算法的實現(xiàn)是利用“桶”來實現(xiàn)的,首先我們創(chuàng)建10個桶,然后按照基數(shù)入桶,基數(shù)的取值是從數(shù)字的低位到高位以此取值。我們還是以[62, 88, 58, 47, 62, 35, 73, 51, 99, 37, 93]這個序列為例,使用基數(shù)排序的方式對該序列進行升序排列。
下方截圖就是上述序列基數(shù)排序的具體過程,在排序之前我們先得創(chuàng)建10個空桶,并進行0-9的編號。這10個空桶會在基數(shù)排序的過程中存儲我們要排序的數(shù)值。下方就是對基數(shù)排序步驟的詳細(xì)介紹:
(1)、以無序序列數(shù)值的個數(shù)為基數(shù),將無序序列中的值進入到基數(shù)對應(yīng)的桶中。