zoukankan      html  css  js  c++  java
  • 一句话概括 各种排序算法

    1  插入排序

    直接插入排序:将一个记录插入到已排序的有序表中,得到一个新的有序表,记录数增1。

    希尔排序:先将待排序的记录序列分成若干个子序列分别进行直接插入排序,待整个序列中的记录基本有序时,在对全体记录进行一次直接插入排序。

    2 交换排序

    冒泡排序:每一次冒泡都会使当前的最大记录被安置在最后一个记录的位置上。

    快速排序:通过一趟排序将待排序序列分成独立的两个部分,其中一部分的关键字均比另一部分的关键字小,然后再分别对这两部分进行快速排序,直到整个序列有序。

    3 选择排序

    简单选择排序:每一趟在n-i个里面选择关键字最小的记录作为有序序列中第i个记录。

    堆排序:建堆、输出堆顶、堆调整、输出堆顶、对调整...

    归并排序:归并是将两个或两个以上的有序表组合成一个新的有序表,二路归并是将两个有序表合并成一个有序表。

        归并排序用到了分治的思想:将原问题分解为子问题,求解子问题,将子问题合并。分解子问题,直到子问题变成了每个有序表只有一个元素为止,对只有一个元素的有序表进行归并排序的结果是不做任何处理;解决了子问题之后,就对子问题进行合并,来完成上一层的子问题,直到原问题得到解决。

  • 相关阅读:
    jenkins1—docker快速搭建jenkins环境
    UPC-6616 Small Multiple(BFS广搜&双向队列)
    UPC-5502 打地鼠游戏(贪心&优先队列)
    UPC-5500 经营与开发(贪心&逆推)
    NBUT
    UPC-6690 Transit Tree Path(树上最短路径SPFA)
    UPC-6359 售票(字典树)
    UPC-6358 庭师的利刃(两数与运算最大值)
    HDU-6308 Time Zone(时区转换)
    欧拉函数模板及拓展
  • 原文地址:https://www.cnblogs.com/whutqueqiaoxian/p/4789251.html
Copyright © 2011-2022 走看看