zoukankan      html  css  js  c++  java
  • Java数据结构与算法之排序

    排序算法

    1. 排序算法的介绍

    排序也称为排序算法,排序是将一组数据,依指定的顺序进行排序的过程

    2. 分类

    1. 内部排序:

    指将需要处理的所有数据都加载到内部存储器中进行排序。

    1. 外部排序:

    数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。

    1. 常见的排序

    3. 时间复杂度

    3.1 时间复杂度

    一般情况下,算法中的基本操作语句的重复执行次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为一不为0的常熟,则称f(n)T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度,简称时间复杂度。

    3.2 时间复杂度计算方法

    • 用常数1代替运行时间中的加法常数
    • 修改后的运算次数函数中,只保留最高阶项
    • 去除最高阶项的系数

    3.3 常见的时间复杂度

    O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(nk)<O(2n)

    3.4 时间复杂度分析

    常数阶O(1)

    无论代码执行多少行,只要没有循环等复杂结构,那这个代码的时间复杂度就是O(1)

    对数阶O(logn)

    while循环里,每次都将i乘以2,每一次循环都离n越来越近,所以循环次数应该是logn

    线性对数阶O(nlogn)

  • 相关阅读:
    Druid 配置_DruidDataSource参考配置
    Druid 配置 wallfilter
    Druid 配置_配置WebStatFilter
    Druid 配置_StatViewServlet配置
    Druid 配置_StatFilter
    Druid数据库连接池使用
    Spring泛型依赖注入
    java计算代码执行时间
    模板方法在Spring事务中的应用
    maven,阿里云国内镜像,提高jar包下载速度
  • 原文地址:https://www.cnblogs.com/njuptzheng/p/13264049.html
Copyright © 2011-2022 走看看