![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Q~miao
这个作者很懒,什么都没留下…
展开
-
编程笔试系列—快速排序
快速排序 快速排序,又称划分交换排序,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 步骤: 1)从数列中挑出一个元素,称为‘基准’; 2)重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面。在这个分区结束后,该基准就处于数列的中间位置。称为分区操作; 3)递归地把小于基准值元素地子数列和大于基准值元素的子数列排序。 def原创 2020-06-05 10:59:37 · 251 阅读 · 1 评论 -
编程笔试系列—插入排序
简单排序 举个栗子 使用python对list中元素进行插入排序,并编写unittest单元测试用例进行验证。 简单来说,插入排序就像打扑克,第一个元素假设成是抓到的第一张牌,每次新抓一张牌(下一个元素),都需要将牌插入到手中已排序的牌中的合适位置,使得手里的牌一直是排序过的。 import unittest def insertion_sort(arr): length = len(arr) i = 1 #第一张抓到的牌 while i < length: j = i while原创 2020-05-29 08:33:18 · 210 阅读 · 0 评论 -
编程笔试系列—冒泡排序
测试面试时都会遇到编程题,主要还是以简单的算法为主。 基础算法里总是离不开排序,所谓排序就是把一组乱序的数据从大到小或者从小到大排列出来。排序算法中最简单的就是冒泡排序了。 下面通过python对list中的元素进行冒泡排序,并编写unittest单元测试用例来验证。 思路: 1)首先比较每个相邻的元素,把大的元素换到右边,这样每次比较完一行就可以把最大的数字移动到最右边,也就是冒泡; 2)重复上述操作,把每次找到的最大的元素换到当前比较队列的最右。 import unittest #导包 def bu原创 2020-05-28 09:16:30 · 525 阅读 · 1 评论