• 常用排序算法


    排序:
           分为内部排序和外部排序

      •   内部排序:只在内存中进行
      •   外部排序:内存和外存结合,数据量比较大的情况下。

         排序稳定:相等的两个数值排序结束后相对位置不变

    内部排序:
            插入排序:第k个插入时,和前k-1个数进行比较,放在正确的位置

      •   直接插入排序 一次直接插入
      • 二分插入排序:利用二分法寻找第k个插入元素的位置

                  希尔排序:利用增量将待排序数组分组


                 选择排序:从待排序数组中选取max/min逐次放大最大位置

      • 简单选择排序:选择排序的原始策略

           堆排序:优化策略:局部再优,利用平衡二叉树,简化每次选取数据的优化
           交换排序:
                与选择排序的不同,发现比较就交换,每次扫描过程有不定次交换过程而选择排序只有一次
                冒泡:优化临近的选择排序
           快排:
                优化策略:简化交换过程,将数据抽象成两部分,一部分比游标小,一部分比游标大,迭代排序
           归并排序:
                将两个有序队列合并成一个有序队列,依次向上合并。
            和快排区别:
                快排是从总体到个体
                归并是从个体到总体
          桶排序:
                维护一个最小max-min最大长度的数组,扫描放入,得到不是默认值的数据排序数组。
          基数排序:维护一个索引队列,队列的每个元素也是一个索引链表
                第一层 个位排序队列
                第二层 十位排序队列
                第三层 百位排序队列
                ...
                第n位,最大位排序队列
                每个队列按照大小排序
       总结:

  • 相关阅读:
    VS2013连接SQLSERVER数据库时显示无法添加数据连接
    线段树模板
    网格中的极大子矩形的另类解法
    斜率优化
    三维前缀和
    Math Magic ZOJ
    01背包 多重背包 完全背包模板记录
    多重背包的单调队列优化
    Largest Rectangle in a Histogram POJ
    Game with string CodeForces
  • 原文地址:https://www.cnblogs.com/moye13/p/5778709.html
Copyright © 2020-2023  润新知