02 复杂度

2023-01-05  本文已影响0人  飘摇的水草
01-开发环境搭建
02-斐波那契数

什么是算法

做这道算法题有两种做法,第一种是用递归的方式,第二种是用基本语句的方式

//方式1
int add(int n)
{
    if (n <= 1) {
        return n;
    }
    
    return add(n - 1) + add(n - 2);
}

//方式2
int secondAdd(int n)
{
    if (n <= 1) {
        return n;
    }
    
    int first = 0;
    int second = 1;
    int sum = 0;
    for (int i = 0; i < n-1; i++)
    {
        sum = first + second;
        first = second;
        second = sum;
    }
    return second;
}

实际上,递归的算法虽然看起来语法简单,但实际上其花费的时间要远远大于第二种

03-算法的评估

如何评判一个算法的优劣

04-时间复杂度的估算
05-大O表示法
常见复杂度比较
06-斐波那契数复杂度分析

利用递归的算法复杂度是:2^n

算法的优化方向

多个变量的复杂度
07-leecode
上一篇 下一篇

猜你喜欢

热点阅读