• 算法复习


    1.冒泡排序:一个一个冒泡。

    比较次数  N -1  +  N-2 +  N-3 + ...+ N-(N-1)  共N-1 项, =(N-1) * N /2

    2.快速排序。先是找出某一个数的最终位置()。这样可以做到稳定。这一步 N-1. 结果序列分为2 部分。每部分再这样操作每部分的操作为N/2 (假设正好评分),结果需要N/2 *2 次比较,变为4 份。下次的操作是 N/4 *4.

    一共分log2 N 次。 这样复杂度是 N* logN

    3.归并排序。先分组,分为 N/2 组,排好序需要 N/2 次。归并一次,需要N/4 * 2 (n/4 是完成后的组数,2是比较的次数,这结果是4个数,4个数的有序了) 次。 下一次是 N/8 *4   最后一次是 N/N * N/2. 一共是 logN 项。复杂度是  1/2 *N*logN 

    4.插入排序。前两个数先排序,比较次数为1,第三个数插进去,比较次数是2,下一个比较次数是logN.  最后也是LogN .只是插入的时候会造成整体的移动,这样不大好

    气功波(18037675651)
  • 相关阅读:
    Kafka介绍
    测试Random类nextInt()方法连续两次结果一样的概率
    Java LinkedHashMap学习
    AES加密
    DES加密
    Windows访问VirtualBox的Redis服务器
    ubuntu配置JDK环境
    初学Python
    commons Collections4 MultiMap
    Guava bimap
  • 原文地址:https://www.cnblogs.com/qgbo/p/12180101.html
Copyright © 2020-2023  润新知