美文网首页
前端程序员如何学好算法

前端程序员如何学好算法

作者: wyc0859 | 来源:发表于2022-07-26 17:03 被阅读0次

    1、做算法题前,一定要先弄清楚 时间复杂度;这样在解答时心里能明白 此方案 的时间复杂度是多少。
    2、前端最重要的数据结构是“树”,所以 树的算法题 要多做,多理解

    数据结构

    1、链表

    //常用遍历
    while(head){
      head = head.next
    }
    return head
    
    //常加哨兵
    let dummny ={
      next: head
    }
    return dummny.next
    

    2、数组

    for(let i=;i<arr.length;i++){
      arr[i]
    }
    

    3、树

    前端最需要刷的数据结构!!!
    如:(二叉树)

    functon walk(treeNode){
      //终止条件
      if(treeNode==null){
        return
      }
      
      处理treeNode  //进入节点
      walk(treeNode.left)
      walk(treeNode.right)
    
      walk(treeNode.left)
      处理treeNode
      walk(treeNode.right)
    
      walk(treeNode.left)
      walk(treeNode.right)
      处理treeNode //离开节点
    }
    

    算法思想

    1、双指针(快慢指针,头尾指针)

    • 链表,数组
    let fast = head,slow = head
    while(fast && fast.next){
      ...
    }
    1et i=0
    let j=0
    

    2、递归和回溯

    function backtrack(数据,路径缓存){
      循环:(每次取下一个值)
        标记
        backtrack(数据,路径缓存)
        取消标记
    }
    

    3、动态规划 【重点】

    1. 暴力解(画图)
    2. 研究优化,加备忘录
    3. 递推

    4、贪心

    贪心算法没有公式

    相关文章

      网友评论

          本文标题:前端程序员如何学好算法

          本文链接:https://www.haomeiwen.com/subject/qewoirtx.html