偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

數(shù)據結構與算法:線性排序比較

開發(fā) 前端
計數(shù)排序只能用在數(shù)據范圍不大的場景中,如果數(shù)據范圍k比要排序的數(shù)據n大很多,就不適合用計數(shù)排序了。而且,計數(shù)排序只能給非負整數(shù)排序,如果要排序的數(shù)據是其他類型的,要將其在不改變相對大小的情況下,轉化為非負整數(shù)。

一、概述

三種時間復雜度是O(n)的線性排序算法:桶排序、計數(shù)排序、基數(shù)排序。

二、相似點

這三種排序算法都利用了桶的概念,但對桶的使用方法上有明顯差異:

  • 基數(shù)排序:根據鍵值的每位數(shù)字來分配桶;
  • 計數(shù)排序:每個桶只存儲單一鍵值;
  • 桶排序:每個桶存儲一定范圍的數(shù)值;

三、適用場景

桶排序比較適合用在外部排序中。所謂的外部排序就是數(shù)據存儲在外部磁盤中,數(shù)據量比較大,內存有限,無法將數(shù)據全部加載到內存中。

計數(shù)排序只能用在數(shù)據范圍不大的場景中,如果數(shù)據范圍k比要排序的數(shù)據n大很多,就不適合用計數(shù)排序了。而且,計數(shù)排序只能給非負整數(shù)排序,如果要排序的數(shù)據是其他類型的,要將其在不改變相對大小的情況下,轉化為非負整數(shù)。

基數(shù)排序對要排序的數(shù)據是有要求的,需要可以分割出獨立的“位”來比較,而且位之間有遞進的關系,如果a數(shù)據的高位比b數(shù)據大,那剩下的低位就不用比較了。除此之外,每一位的數(shù)據范圍不能太大,要可以用線性排序算法來排序,否則,基數(shù)排序的時間復雜度就無法做到O(n)了。

四、復雜度

排序算法

時間復雜度

空間復雜度

是否穩(wěn)定

桶排序

O(n)

O(n)

穩(wěn)定

計數(shù)排序

O(n)

O(n+k)

穩(wěn)定

基數(shù)排序

O(k*n)

O(n)

穩(wěn)定


責任編輯:武曉燕 來源: 今日頭條
相關推薦

2023-03-07 08:02:07

數(shù)據結構算法數(shù)列

2023-03-10 08:07:39

數(shù)據結構算法計數(shù)排序

2023-03-02 08:15:13

2023-11-06 06:43:23

單鏈表查詢數(shù)據結構

2023-04-27 09:13:20

排序算法數(shù)據結構

2023-03-06 08:10:52

數(shù)據結構算法數(shù)據

2021-04-15 09:36:44

Java數(shù)據結構算法

2019-03-29 09:40:38

數(shù)據結構算法前端

2020-10-21 14:57:04

數(shù)據結構算法圖形

2023-03-08 08:03:09

數(shù)據結構算法歸并排序

2021-07-16 04:57:45

Go算法結構

2021-03-23 08:33:22

Java數(shù)據結構算法

2012-04-28 14:21:47

Java數(shù)據結構線性結構

2023-10-27 07:04:20

2021-04-22 10:07:45

Java數(shù)據結構算法

2021-04-16 09:40:52

Java數(shù)據結構算法

2009-08-11 14:14:42

C#數(shù)據結構與算法

2009-08-03 17:38:12

排序算法C#數(shù)據結構

2021-05-12 14:09:35

鏈表數(shù)據結構線性結構

2021-10-18 11:29:48

奇偶排序數(shù)組數(shù)據結構算法
點贊
收藏

51CTO技術棧公眾號