urlname
type
Post
password
SyncToConfluence
category
编程基础
date
Apr 6, 2024
slug
01HVZVMJWK9087A1ZB4K0K79W3
icon
Button
catalog
summary
tags
归并排序
快速排序
cover
Status
BusyTime
Status 1
status
Published
分类
- 归并排序
- 快速排序
归并排序
时间复杂度
时间复杂度在最好、平均和最坏的情况下都是 O(nlogn)
流程:
代码:
快速排序
时间复杂度
- 影响因素:依赖于基准元素的选择
- 最坏情况的时间复杂度为 O(n^2),这通常发生在基准元素每次选取时都是最小或最大的元素,如已排序的数组。
- 平均情况的时间复杂度为 O(nlogn),这是在基准选择较为平均的情况下。
- 最好情况的时间复杂度同样是 O(nlogn),在理想的基准选择下发生,即基准每次都能将数组均等分割。
流程:
代码:
应用——快速选择:
基于快速排序的分区思想,可以用于找出未排序数组中的第 k 小(大)元素,这就是快速选择算法。
时间复杂度
- 最坏情况的时间复杂度为 O(n^2),这类似于快速排序,在基准选择不佳的情况下发生。
- 平均情况的时间复杂度为 O(n),因为它通常不需要遍历整个数组。
- 最好情况的时间复杂度也是 O(n),在每次递归都能完美切分数组的情况下实现。
代码
- Author:CoderWdd
- URL:https://www.wuinsights.top//article/01HVZVMJWK9087A1ZB4K0K79W3
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!