• 复杂度的估计


    (1)对于时间复杂度

    通常题目给出的是1秒的运行时限,这也是最常见的时间限制(或最常见的时间限制数量级)
    对于该时限,通常,我们所设计的时间复杂度不能超过百万级别,及不能超过一千万。
    若算法的时间复杂度是O(n^2),则该n(往往在题目中会给出数据范围),那么该n不应该大于3000.
    否则将会到达我们所说的千万数量级复杂度,从而程序运行时间超过题目所给出的用时限定。
    因此,可以对自己的程序在最坏情况下的复杂度进行一个估算,假设确定其在百万数量级之内,那么
    你的程序一般是不会超过时间限制的。
     
    (2)对于空间复杂度
    1GB=2^10MB  
    1MB=2^10KB
    1KB=2^10B
    1B =1 Byte(字节) = 8 bit(位)

     

    C/C++数据范围速查表:
    char         1Byte     -128~+127
    short       2Byte      -32767~+32768
    unsigned short  2Byte     0~65536
    int         4Byte     -2147483648~2147483647(10^9数量级)
    unsigned int    4Byte      0~4294947295
    long ==int
    long long      8Byte      -9223372036854775808 ~ +9223372036854775807(10^18数量级)
    double       8Byte      1.7 * 10^308





  • 相关阅读:
    Eclipse中插件的运用
    AES加密解密 Java中运用
    DES加密解密 Java中运用
    Chrome中的插件运用
    JqueryEasyUI教程入门篇
    SEO入门教程
    屏幕取色工具
    gif处理
    java 实现序列化的两种方式
    重定向输出 > 1>&2 2>&1
  • 原文地址:https://www.cnblogs.com/gt123/p/3684316.html
Copyright © 2020-2023  润新知