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),在每次递归都能完美切分数组的情况下实现。

代码

 
Http与HttpsJava GC时的四种引用
Loading...