随着软件测试行业的发展,自动化测试岗位也越来越多,那么面试自动化测试岗位很可能会考一些算法,其中排序算法最为常见,本文将采用python实现冒泡排序、快速排序、选择排序、插入排序、归并排序,供大家参考
1.冒泡排序
冒泡排序(Bubble Sort)是一种简单直观的排序算法。它重复地访问要排序的数列,每次比较两个元素,如果他们的顺序不对就把他们交换过来。访问数列的工作是重复地进行直到没有需要交换的元素,也就是说该数列已经排序完成。这个算法的名字的由来是因为越小的元素会经过交换慢慢"浮"到数列的顶端。
代码实现如下:

快速排序的基本思路:
代码实现如下:


选择排序(Selection sort)是一种简单直观的排序算法。
基本思路:
代码实现如下:

插入排序(英语:Insertion Sort)是一种简单直观的排序算法。
基本思路:
通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
代码实现如下:

归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的排序算法。
该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。
分治法:
分割:递归地把当前序列平均分割成两半。
集成:在保持元素顺序的同时将上一步得到的子序列集成到一起(归并)。
代码实现如下:


