ToB企服应用市场:ToB评测及商务社交产业平台

标题: 8行代码实现快速排序,简单易懂图解! [打印本页]

作者: 篮之新喜    时间: 2022-8-20 18:38
标题: 8行代码实现快速排序,简单易懂图解!
快速排序是一种常用的排序算法,比选择排序快的多。在之前的我随笔中也写过关于快速排序的算法,也可以看一下和现在的区别python实现快速排序 - Mr-Yang` - 博客园 (cnblogs.com)
在看快速排序之前,要先了解一下递归,对于递归我之前的文章中也有提到python递归函数 - Mr-Yang` - 博客园 (cnblogs.com),在这里我补充一个关于递归的一个点:基线条件和递归条件
一、基线条件和递归条件

由于递归函数是自己调用自己,因此编写这样的函数时容易出错,从而导致无限循环。示例如下:
  1. def countdown(i):
  2.     print(i)
  3.     countdown(i-1)
复制代码
如果运行上述代码,就会发现一个问题:这个函数运行起来是不会停止,直到到达递归的最大深度。
正是因为这样,编写递归函数的时候,必须告诉它何时停止递归,所以每个递归函数都有两个部分:基线条件(base case)和递归条件(recursive case)。递归条件指定的是函数调用自己,而基线条件则指的是不再调用自己,从而避免循环。例如给 countdown 添加基线条件。
[code]def countdown(i):    print(i)           if i




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4