zoukankan      html  css  js  c++  java
  • 算法复习

    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)
  • 相关阅读:
    Java中抽象类和接口的区别
    servlet的转发与重定向
    JSP知识点
    过滤器与拦截器
    java关键字 super 和 this
    oracle 基础
    java 集合
    java 内部类
    java 数组详解
    图,深度优先遍历与广度优先遍历
  • 原文地址:https://www.cnblogs.com/qgbo/p/12180101.html
Copyright © 2011-2022 走看看