• 数据结构与算法(一)


    一 1 逻辑结构:

      a : 集合结构 数据元素除了同属于一个集合外,它们之间没有其他关系

      b : 线性结构 数据元素之间一对一的关系

      c : 树形结构 数据元素之间存在一种一对多的层次关系

      d : 图形结构 数据元素之间是多对多的关系

      2 物理结构

      a : 顺序存储结构 是把数据结构存放在地址连续的存储单元里,数据间的逻辑关系与物理关系是一致的

      b : 链式存储结构 是把数据结构存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的

    二 算法大O推导

      1 : 用常数1代表所有加法常数(执行时间恒定)

      2 : 在修改后的运行次数函数中,只保留最高阶层

      3 : 如果最高阶层存在且不是1,则去除与这个项相乘的常数

      

      a 常数阶

        int n=100,sum=0; //一次

        sum = (1+n)*n/2; //一次

        时间复杂度O(1)

      b 线性阶

        for(i=0;i<n;i++){/*执行时间复杂度为O(1)的语句*/}  //n次

        时间复杂度O(n)

      c 对数阶

        int count=1;

        while(count<n){ count = count*2 } 

        时间复杂度O(logn)

      d 平方阶

        for(i=0;i<n;i++){ //n次

          

          for(j=0;j<n;j++){//n次

          }

        }

      时间复杂度O(n^2)

      常见时间复杂度 O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)

      

  • 相关阅读:
    JavaScript中出现这个statement expected
    java: 非法字符: 'ufeff' 需要class, interface或enum
    码云如何配置公钥
    Git命令
    配置git签名
    Scanner练习总结
    怎么将项目在Eclipse中生成doc文档
    java文件使用命令生成doc文档
    包机制总结
    变量和运算符总结
  • 原文地址:https://www.cnblogs.com/waited/p/5371334.html
Copyright © 2020-2023  润新知