簡體   English   中英

Bucket Sort O(n+k) 如果使用插入排序對每個桶進行排序,時間復雜度如何?

[英]How is the time complexity of Bucket Sort O(n+k) if it uses insertion sort to sort each bucket?

由於插入排序的時間復雜度為 O(n^2),桶排序 O(n+k) 的平均情況時間復雜度如何,因為它在每個桶上使用插入排序? 這里 k 是桶的數量。

您可以查看平均時間復雜度的詳細計算 雖然,這是一個直覺。

首先,在最壞的情況下,桶排序是O(n^2) 每當所有元素都出現在同一個桶中時,就會發生這種情況。

雖然,桶排序依賴於元素在桶中均勻分布。 給定這個假設,並且給定與輸入大小成比例的桶數,那么平均桶應該包含O(1) 個元素。 換句話說,通過選擇足夠多的桶,你可以保持它們的尺寸很小。

這意味着桶的排序對整體時間復雜度沒有影響。 選擇插入排序成為一個明智的選擇,因為它具有較小的開銷並且不需要額外的空間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM