計數排序的原址排序
演算法導論第八章思考題8-2.e答案,最後還是百度了答案,並不會,記錄一下。
計數排序(穩定)
for i = 0 to k
c[i] = 0
for j = 1 to A.length
c[a[j]]++;
for i = 1 to k
c[i]+=c[i-1];
for j = A.length down to 1
b[c[a[j]]] = a[j]
c[a[j]]--
計數排序原址排序(不穩定)
for i = 0 to k
c[i] = 0
for j = 1 to A.length
c[a[j]]++;
//將A初始化為0向量。
//之後無需插入0元素
for j = 1 to A.length
A[j]=0;
//根據C中計數從後向前插入資料
//如果C[l]==C[l-1],說明l已經插入完畢或A中本來就沒有l元素
for (int l=k;l>=1;l--)
while (C[l]!=C[l-1])
//這裡C[l]--減去1是因為陣列下標從0開始
A[(C[l]--)-1]=l;
相關文章
- 計數排序vs基數排序vs桶排序排序
- Java排序之計數排序Java排序
- 基於桶的排序之計數排序排序
- 非交換排序-計數排序和桶排序排序
- 排序演算法__計數排序排序演算法
- 計數排序排序
- 1122. 陣列的相對排序(計數排序 / 自定義排序)陣列排序
- 經常提及的幾個js排序方法(氣泡排序、選擇排序、計數排序)JS排序
- 【資料結構與演算法】非比較排序(計數排序、桶排序、基數排序)資料結構演算法排序
- (戀上資料結構筆記):計數排序、基數排序 、桶排序資料結構筆記排序
- 計數排序 - Counting Sort排序
- 新學習的計數排序排序
- 15.百萬考生成績如何排序 - 計數排序排序
- 桶排序和基數排序排序
- 計數排序 -- GoLang實現排序Golang
- 什麼是計數排序?排序
- 基於桶的排序之基數排序以及排序方法總結排序
- 排序演算法__基數排序排序演算法
- 歸併排序和基數排序排序
- Python八大演算法的實現,插入排序、希爾排序、氣泡排序、快速排序、直接選擇排序、堆排序、歸併排序、基數排序。Python演算法排序
- JavaScript計數排序演算法JavaScript排序演算法
- 第三章:查詢與排序(下)----------- 3.19 計數排序排序
- 整數排序排序
- 漫畫:什麼是計數排序?排序
- 看圖輕鬆理解計數排序排序
- 資料結構之計數排序資料結構排序
- 第 28 題:如何理解計數排序?排序
- rust-algorithms:6-計數排序RustGo排序
- 資訊學奧賽複賽複習13-CSP-J2021-02插入排序-排序穩定性、插入排序、sort排序、結構圖、計數排序排序
- java 基數排序Java排序
- Numpy 排序搜尋計數與集合操作排序
- 排序:氣泡排序&快速排序排序
- 經典十大排序演算法(含升序降序,基數排序含負數排序)排序演算法
- 指標-n個數的排序指標排序
- 基數排序的簡單理解排序
- php插入排序,快速排序,歸併排序,堆排序PHP排序
- 【排序】插入類排序—(折半)插入排序、希爾排序排序
- 基數排序 LSD py排序
- mysql相同數值排序MySql排序