zoukankan      html  css  js  c++  java
  • 排序算法

    1、快速排序

          1.1:从数列中挑出一个元素,称为“基准”

          1.2:把所有比“基准”小的元素,放到基准的左边,把比基准大的放在基准右边

          1.3:递归操作,基准左右两边的数列

    2、归并排序

        1、申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列

        2、设定两个指针,最初位置分别为两个已经排序序列的起始位置

        3、比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置

        4、重复步骤3直到某一指针达到序列尾

        5、将另一序列剩下的所有元素直接复制到合并序列尾

    3、选择排序

       首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中寻找最小元素,然后放到排序序列末尾,以此类推,直到所有元素排序完毕

    4、插入排序

          1、从第一个元素开始,该元素可以认为已经被排序

          2、取出下一个元素,在已经排序的元素序列中从后向前扫描

          3、如果该元素(已排序)大于新元素,将该元素移到下一位置

          4、重复步骤3,直到找到已排序的元素小于或等于新元素的位置

          5、将新元素插入到该位置中

          6、重复步骤2

       

  • 相关阅读:
    SCU 3133(博弈)
    SCU 3132(博弈)
    hdu 5183(hash)
    hdu3329(2次dfs)
    hdu5179(数位dp)
    zoj2314(有上下界的网络流)
    CF 519E(树上倍增求lca)
    hdu1251(Trie树)
    SCU 2009(数位dp)
    【Leetcode】Letter Combinations of a Phone Number
  • 原文地址:https://www.cnblogs.com/puyahuazhijia/p/5922851.html
Copyright © 2011-2022 走看看