• 算法


    O(1) 常数阶

    #include <stdio.h>
    #include <string.h>
    
    int main( )
    {
        int i,sum = 0,n =100000000000;
        sum = (1 + n) * (n /2);
        printf("%d",sum);
        return 0;
    }
    
    
    

    执行次数不随n的变化而变化。

    O(n) 线性阶

    #include <stdio.h>
    #include <string.h>
    
    int main( )
    {
        int i,sum = 0,n =100000000000;
        for (i = 1;i<=n;i++) {
            sum = sum + i;
        }
        printf("%d",sum);
        return 0;
    }
    
    

    执行次数随n增加而线性增加。

    O(n^2) 平方阶

    #include <stdio.h>
    #include <string.h>
    
    int main( )
    {
        int i,j,sum = 0,n =10;
        for (i = 1;i<=n;i++) {
            for (j = 1 ;j<n;j++) {
                printf("i like u!
    ");
            }
        }
    
        return 0;
    }
    
    

    O(logN) 对数阶

    #include <stdio.h>
    #include <string.h>
    
    int main( )
    {
        int i =1,n = 32;
        int count = 0;
        while ( i < n ) {
            i = i * 2; // O(log2n)
            count ++ ;
        }
        printf("执行的次数为%d
    ",count);
        return 0;
    }
    
    
    #include <stdio.h>
    #include <string.h>
    
    int main( )
    {
        int i =1,n = 243;
        int count = 0;
        while ( i < n ) {
            i = i * 3; //O(log3n)
            count ++ ;
        }
        printf("执行的次数为%d
    ",count);
        return 0;
    }
    
    

    听,实践,思考,举一反三,多应用,真正的掌握,从书面升华为技能。--小甲鱼

    O(2^n) 指数阶,最可怕

    #include <stdio.h>
    #include <string.h>
    #include<math.h>
    int main( )
    {
        int i =0,n = 25;
        int count = 0;
        while ( i < pow(2,n) ) {
            i++;
            count ++ ;
        }
        printf("执行的次数为%d
    ",count);
        return 0;
    }
    
    

    很可怕,n到25的时候需要2秒钟,变成26之后,就等不完了。

    正常情况下,不会有O(n^3)、O(2^n)、O(n!)、O(n^n),谁用谁傻逼。

  • 相关阅读:
    python模块添加
    Python 的列表排序
    python中文处理问题
    排序算法堆排序
    搜索二分搜索
    排序算法(随机)快速排序(递归)
    排序算法计数排序
    OO设计原则总结
    异常控制以及进程调度
    ubuntu12.04 alternate win7 双系统安装
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/8287506.html
Copyright © 2020-2023  润新知