Skip to content

Commit

Permalink
feat: revise README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
fiteen authored Dec 27, 2019
1 parent 288ea2b commit 219b004
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion BucketSort/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ void bucket_sort(int arr[], int n, int r) {
桶排序的时间复杂度可以这样看:
- n 次循环,每个数据装入桶
- r 次循环,每个桶中的数据进行排序(每个桶中平均有 n/m 个数据)
- r 次循环,每个桶中的数据进行排序(每个桶中平均有 n/r 个数据)
假如桶内排序用的是选择排序这类时间复杂度较高的排序,整个桶排序的时间复杂度就是 O(n)+O(n²),视作 O(n²),这是最差的情况;
假如桶内排序用的是比较先进的排序算法,时间复杂度为 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)。也就是说如果数据被分配到同一个桶中,排序效率最低;但如果数据可以均匀分配到每一个桶中,时间效率最高,可以线性时间运行。但同样地,桶越多,空间就越大。
Expand Down

0 comments on commit 219b004

Please sign in to comment.