算法基础(一)

博主这几天面试总会被问到算法相关知识,关键博主面试的是西安测试岗位,现在测试门槛都这么高了吗。。。各种手撕算法

所以下决心恶补一下数据结构,不定时更新,喜欢的胖友可以点个关注哦~

那就先从最基本开始看吧

一、时间复杂度计算

时间复杂度:定性描述该算法的运行时间

这种只执行一次的,时间复杂度为O(1)

<script>
    let i = 0;
    i += 1
</script>

 这种执行n次的,时间复杂度为O(n)

<script>
    for (let i = 0;i < n;i += 1){
       console.log(i);
    }
</script>

当然如果前面是执行一次的,后面是执行n次的这种组合,其时间复杂度依旧是O(n),O(1)+O(n)=O(n)

O(n)*O(n)=O(n^2)

<script>
    for (let i = 0; i < n; i += 1){
         for(let j = 0;j < n; j += 1){
              console.log(i,j);
         }
    }
</script>

O(logN) //2的多少次方为n

<script>
    let i = 1;
    while (i < n){
        console.log(i);
        i *= 2;
    }
</script>

二、空间复杂度

算法在运行过程中临时占用存储空间大小的量度

O(1)//单个变量占用的内存为1

<script>
   let i = 0;
   i += 1;
</script>

O(n)//占用了n个内存单元

<script>
   const list = [];
   for(let i = 0;i<n;i += 1){
      list.push(i);
   }
</script>

O(n^2) //n的矩阵

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值