如何用8行代码实现简单易懂的快速排序图解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计727个文字,预计阅读时间需要3分钟。
快速排序是一种常用的排序算法,比选择排序快得多。在我之前的随笔中,也写过关于快速排序算法的内容,可以看看和现在Python实现快速排序的区别。详情请见:Python实现快速排序 - Mr-Yang - 自由联合(cnblogs.com)。
快速排序是一种常用的排序算法,比选择排序快的多。在之前的我随笔中也写过关于快速排序的算法,也可以看一下和现在的区别python实现快速排序 - Mr-Yang` - 自由互联 (cnblogs.com)。
在看快速排序之前,要先了解一下递归,对于递归我之前的文章中也有提到python递归函数 - Mr-Yang` - 自由互联 (cnblogs.com),在这里我补充一个关于递归的一个点:基线条件和递归条件
一、基线条件和递归条件由于递归函数是自己调用自己,因此编写这样的函数时容易出错,从而导致无限循环。示例如下:
def countdown(i):
print(i)
countdown(i-1)
如果运行上述代码,就会发现一个问题:这个函数运行起来是不会停止,直到到达递归的最大深度。
正是因为这样,编写递归函数的时候,必须告诉它何时停止递归,所以每个递归函数都有两个部分:基线条件(base case)和递归条件(recursive case)。
本文共计727个文字,预计阅读时间需要3分钟。
快速排序是一种常用的排序算法,比选择排序快得多。在我之前的随笔中,也写过关于快速排序算法的内容,可以看看和现在Python实现快速排序的区别。详情请见:Python实现快速排序 - Mr-Yang - 自由联合(cnblogs.com)。
快速排序是一种常用的排序算法,比选择排序快的多。在之前的我随笔中也写过关于快速排序的算法,也可以看一下和现在的区别python实现快速排序 - Mr-Yang` - 自由互联 (cnblogs.com)。
在看快速排序之前,要先了解一下递归,对于递归我之前的文章中也有提到python递归函数 - Mr-Yang` - 自由互联 (cnblogs.com),在这里我补充一个关于递归的一个点:基线条件和递归条件
一、基线条件和递归条件由于递归函数是自己调用自己,因此编写这样的函数时容易出错,从而导致无限循环。示例如下:
def countdown(i):
print(i)
countdown(i-1)
如果运行上述代码,就会发现一个问题:这个函数运行起来是不会停止,直到到达递归的最大深度。
正是因为这样,编写递归函数的时候,必须告诉它何时停止递归,所以每个递归函数都有两个部分:基线条件(base case)和递归条件(recursive case)。

