• python数据结构-最全的六种排序


    1.冒泡排序

    1. 比较相邻的元素,如果第一个比第二个大,那就交换位置
    2. 让大的元素跟下一个相邻的元素作比较,如果大于交换位置
    3. 对所有元素重复以上步骤(除了最后一个),直到没有任何一个需要作对比

    2.选择排序:

    1. 从未排序序列中找到最小的元素放到序列的初始位置,
    2. 再从剩余未排序序列中找到最小的元素放到已排序序列的末端
    3. 以此类推直到所有元素排序完成

    3.插入排序:

    1. 对于未排序的元素,在已排序的序列中从后向前进行扫描,找到相应位置并插入,
    2. 需要反复把已经排序好的元素逐步向后挪位,为新元素提供插入空间。

    4.快速排序:

    • 从数列中挑出一个元素,成为“基准数”(通常为第一个元素)
    • .重新排序数列,比基准数小的放在左边,比基准数大的放在右边
    • (相同的数可以在任一一边)分区结束后,基准数位于数列中间位置
    • 递归的把小于基准数的子数列和大于基准数的子数列排序

    5..希尔排序:

    1. 以间隔为n进行对待
    2. 分成n个子序列,并对n个子序列以此进行插入排序
    3. 然后整合,获得新的序列
    4. 缩小间隔,再以间隔对待,进行插入排序
    5. 希尔排序是不稳定的,但优化了插入排序的平均时间

    6.归并排序:

    1. 按对半分,分成两半。
    2. 对两部分,分别进行排序(递增)。
    3. 合并两个序列,左右比较取小的值

  • 相关阅读:
    C# — WinForm TCP连接之服务器端
    Linq to SQL — Group by
    pytorch model()[] 模型对象类型
    git官网下载太慢解决方法
    财务分析
    python错题集
    SQL 开窗函数 头尾函数 first_value()/last value()不常用
    徐杨老师的公开课关于敏捷算法
    SQL 开窗函数:range和rows的区别
    SQL开窗函数 row_number(),dense_rank(), rank()
  • 原文地址:https://www.cnblogs.com/mengxinfeng/p/12545544.html
Copyright © 2020-2023  润新知