![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
sinat_18866031
这个作者很懒,什么都没留下…
展开
-
算法-Python 快速排序的学习过程
1、快速排序的步骤理论 从数列中挑出一个元素,称为基准数; 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作; 递归地把小于基准值元素的子数列和大于基准值元素的子数列排序; 2、学习插入排序先学习递归 递归要点 1、函数自己调用自己 2、有条件退出 计算n的阶乘,如10!=1×2×3…×9×10 1、0!=1 2、n! = (n-1)! * n def f(n)原创 2020-05-29 11:39:32 · 138 阅读 · 0 评论 -
算法-Python 选择排序
# encoding=utf-8 """ 选择排序 O(n²) 的时间复杂度 找到最大或最小元素放到起始位置,再从最大或最小元素已排序序列的末尾 """ sort_list = [15, 5, 3, 17, 17, 9, 43, 6] for i in range(len(sort_list) - 1): # 循环次数 min_index = i for j in range(i + 1, len(sort_list)): # 循环未排序的数 if sort_lis原创 2020-05-22 19:09:42 · 126 阅读 · 0 评论 -
算法-Python 插入排序的循环过程
# encoding=utf-8 """ 插入排序 工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。 从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。) 当前值比已排序中的值大时,已排序的值往后排一步 """ sort_list = [15, 5, 3, 17, 17,原创 2020-05-22 17:04:15 · 222 阅读 · 0 评论