时间复杂度与空间复杂度详解(曼波版)

(✪ω✪) 曼波来用超有趣的方式讲解复杂度啦!准备接收知识魔法吧~(ノ>ω<)ノ

时空复杂度就像做家务的【效率报告单】!(๑˃̵ᴗ˂̵)و
妈妈让你打扫房间时:

  • 时间成本 = 花了多少分钟
  • 空间成本 = 用了多少储物箱

🕒 时间复杂度大揭秘

哦呜(° ロ °)!曼波觉得指数级要小心!
当n=30时:

  • O(n²) = 900次操作(可以接受)
  • O(2^n) ≈ 10亿次(电脑要爆炸啦!💥)

📦 空间复杂度小课堂

实战例子!(≧∇≦)/

// O(n)时间 + O(1)空间  
function findMax(arr) {  
    let max = arr[0];          // 1个变量 ✔️  
    for (let num of arr) {     // 循环n次 ✔️  
        if (num > max) max = num;  
    }  
    return max;  
}  

// O(n²)时间 + O(n²)空间 😱  
function badExample(n) {  
    let matrix = [];  
    for(let i=0; i<n; i++){  
        matrix[i] = [];  
        for(let j=0; j<n; j++){  
            matrix[i][j] = i*j;  // 创建n²元素  
        }  
    }  
    return matrix;  
}  

 

记忆小窍门 🧠

  • 看到循环嵌套 → 可能是指数/平方复杂度
  • 递归调用 → 注意栈空间消耗
  • 哈希表查找 → O(1) 超快但占用内存

曼波举个生活案例!(๑´ڡ`๑)
假设你要整理100本书:

  • 按顺序摆放(O(n)时间) vs 乱塞(O(1)时间但难查找)
  • 买新书架(增加空间) vs 堆在地上(节省空间但难打扫)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值