Skip to content

Commit 219b004

Browse files
authored
feat: revise README.md
1 parent 288ea2b commit 219b004

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

BucketSort/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ void bucket_sort(int arr[], int n, int r) {
6161
6262
桶排序的时间复杂度可以这样看:
6363
- n 次循环,每个数据装入桶
64-
- r 次循环,每个桶中的数据进行排序(每个桶中平均有 n/m 个数据)
64+
- r 次循环,每个桶中的数据进行排序(每个桶中平均有 n/r 个数据)
6565
6666
假如桶内排序用的是选择排序这类时间复杂度较高的排序,整个桶排序的时间复杂度就是 O(n)+O(n²),视作 O(n²),这是最差的情况;
6767
假如桶内排序用的是比较先进的排序算法,时间复杂度为 O(nlogn),那么整个桶排序的时间复杂度为 O(n)+O(r\*(n/r)\*log(n/r))=O(n+nlog(n/r))。k=nlog(n/r),桶排序的平均时间复杂度为 O(n+k)。当 r 接近于 n 时,k 趋近于 0,这时桶排序的时间复杂度是最优的,就可以认为是 O(n)。也就是说如果数据被分配到同一个桶中,排序效率最低;但如果数据可以均匀分配到每一个桶中,时间效率最高,可以线性时间运行。但同样地,桶越多,空间就越大。

0 commit comments

Comments
 (0)