• python自动化面试常见排序算法解析


    每天进步一点点,关注我们哦,每天分享测试技术文章

    本文章出自【码同学软件测试】

    码同学公众号:自动化软件测试,领取资料可加:magetest

    码同学抖音号:小码哥聊软件测试

    随着软件测试行业的发展,自动化测试岗位也越来越多,那么面试自动化测试岗位很可能会考一些算法,其中排序算法最为常见,本文将采用python实现冒泡排序、快速排序、选择排序、插入排序、归并排序,供大家参考

    1.冒泡排序

    冒泡排序(Bubble Sort)是一种简单直观的排序算法。它重复地访问要排序的数列,每次比较两个元素,如果他们的顺序不对就把他们交换过来。访问数列的工作是重复地进行直到没有需要交换的元素,也就是说该数列已经排序完成。这个算法的名字的由来是因为越小的元素会经过交换慢慢"浮"到数列的顶端。

    代码实现如下:

     

    2. 快速排序

    快速排序的基本思路:
    1. 选择基准数:从序列中选择一个数作为基准数(pivot)
    2. 分割序列:对序列重新排序,比基准数小的值都在前面,比基准数大的都在后面,这样针对基准数的排序就已经完成
    3. 递归排序:第二步将序列分成了前面和后面两个序列,再使用递归方式将这两个序列再次进行排序

    代码实现如下:

    3. 选择排序

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

    免费领取码同学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:magetest


    1. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,
    2. 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

    代码实现如下:

    4. 插入排序

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

    代码实现如下:

    5. 归并排序

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

    代码实现如下:

     

     

    免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频 ☞ 可加:magetest/关注码同学公众号:自动化软件测试

    本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 相关阅读:
    python paramiko模块学习分享
    中国大数据市场规模分析及预测
    中国大数据市场规模分析及预测
    显著性水平 置信度 置信区间 实例讲解
    显著性水平 置信度 置信区间 实例讲解
    加密算法
    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'qingmu' for key 'PRIMARY'
    spring Security的自定义用户认证
    spring的面试题
    solr和ElasticSearch(ES)的区别?
  • 原文地址:https://www.cnblogs.com/testfan2019/p/16500827.html
Copyright © 2020-2023  润新知