快速排序 - 算法讲解

🧑‍💻 算法学习 · Quick Sort

快速排序 (Quick Sort)

概述

难度:中等 (Medium)
分类:Sorting / 排序

快速排序是一种高效的分治排序算法,采用递归和分区策略。

Quick sort is an efficient divide-and-conquer sorting algorithm using recursion and partitioning.


算法原理

中文:选择一个基准元素,将数组分为两部分,小于基准的在左,大于基准的在右,递归排序两部分。

English: Select a pivot element, partition the array into two parts - elements less than pivot on left, greater on right, then recursively sort both parts.


复杂度分析

类型 复杂度
时间复杂度 O(n log n)
空间复杂度 O(log n)

代码实现

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quick_sort(left) + middle + quick_sort(right)

每日练习

  1. 完成算法实现
  2. 分析算法复杂度
  3. 思考:算法的适用场景和局限性

相关阅读:算法专栏


💡 学习建议:算法学习重在理解思想,多写多练是关键。 💡 Learning tip: Algorithm learning is about understanding the core idea. Practice makes perfect.