初识算法。

时间复杂度

O(1) O(logn) O(n) O(n^2) O(2^n) 理论上运行时间依次增加,运行速度越来越慢。

编写一个将数字数组作为输入值并计算这些是数字之和的算法。
          要求:判断该算法的时间复杂度并验证它是否为最佳方案。

        
              const arr = [1,2,3,4,5]
              function sumArr(arr){
                    let v = null;
                    arr.map(l=>{
                    v+= l
              })
              return v
              }
              sumArr(arr)
如何返回斐波那契数列第n个元素。
              时间复杂度为 O(n) 线性时间复杂度
              function fib(n){
                  const resNum = [1,1]
                  for (let index = 2; index < n + 1; index++) {
                      resNum.push(resNum[index-2] + resNum[index-1]);
                        }
                  return resNum[n]
              }
              console.log( fib(5))
判断质数。
              大于1的自然数中除了1和它本身不能被其他自然数整除(除0以为)
              function isPrime(n){
                  var isTrue = true
                 for(i = 2;i < n; i ++){
                if(n % i === 0){
                    isTrue = false;
                    break
                      }
                  }
                  return isTrue
                }
              console.log(isPrime(5))
posted @ 2020-11-02 16:07  Heson  阅读(65)  评论(0编辑  收藏  举报
Live2D