240 发简信
IP属地:浙江
  • VIM Tutor

    Modal editing Normal(<ESC>): for moving around a file and making edits Insert(i): for i...

  • JS toFixed & 负数 Math.round()

    toFixed(2) 负数 Math.round()

  • 动态规划

    概述 Dynamic Programming => 动态规划 Programming => 制表法 Fibonacci 求 Fibonacci 第 n 项 递归 缺点:存在重...

  • 120
    TypeScript

    概述 类型就是一组值的集合 类型擦除 TS 转化成 JS 方法 npm i -g esbuild => esbuild 1.ts > 1.js => 快(不检查 TS 语法)...

  • 120
    Webpack

    Webpack webpack 流程 webpack 使用 Tapable 作为事件中心,Tapable 可以定义、监听、触发事件 webpack 将打包分成了 initia...

  • 120
    Web 性能优化

    Web 性能优化 DNS DNS => Domain Name System 域名需要转化成 IP => 浏览器(缓存) -> 操作系统(hosts) -> 运营商 TCP ...

  • 设计模式

    设计模式 概述 人们在长久的生产实践中总结出来的一套方法论 提高开发效率 降低维护成本 单例模式 在整个逻辑中一个对象只存在一份 => 在 JVM 中只产生一个实例 case...

  • JavaScript 深拷贝

    JSON 缺点 不支持 Date、正则、undefined、函数等数据 不支持引用,即环状结构 递归 要点: 判断类型 => instanceof 检查环 => 使用哈希表缓...

  • 哈希表

    概述 数据结构连续型 => 数组(栈)离散型 => 链表(队列 => 双端链表) | 二叉树 拥有键值对元素的无序集合 键的值是唯一的,键对应的值可以通过键来获取、更新或移除...

  • 排序算法

    概述 一般排序算法(以元素比较为基础) => 快速排序、归并排序、插入排序、冒泡排序、堆排序 特殊排序算法 => 基数排序、桶排序 循环不变式 for/while 循环不变式...

  • BFS 广度优先搜索

    概述 从根开始(图则选择一些任意节点作为根)并且在移动到下一级邻居之前首先探索邻居节点 以当前节点为圆心画圆,层层递进,将覆盖的节点放入队列 不需要递归,利用队列解决 图 B...

  • 一般深度优先搜索问题

    概述 一般深度优先搜索问题 => 一般图 + 矩阵(二维数组) DFS + 涂色标记(避免节点重复访问) 搜索节点如何移动 同时能用 DFS 或 BFS 求解的图或矩阵问题,...

  • 回溯法

    概述 Backtracking 回溯法实现 => DFS + 剪枝(跳过对某些一定不是解的子树) 可以把问题所有的解构造成一棵树 => n叉树 => 解空间树 回溯法可以解决...

  • 分治法

    概述 Divide and Conquer 步骤 Divide(分解) => 将问题划分为一些子问题,子问题的形式和原问题一样,只是规模更小 Conquer(解决) => 递...

  • Depth First Search

    概述 DFS(Depth First Search) => 深度优先搜索算法 => 递归与回溯,通常隐含了栈的实现树中 DFS一般 DFS 问题 => 一维问题(回溯法) +...

  • 二叉树

    概述 树 => 一种无向图,其中任意两个顶点间存在唯一一条路径只要没有回路的连通图就是树一个数据结构,由节点、顶点和边组成,没有任何环边 == 节点数 - 1 => 无环 树...

  • 递归

    概述 学术定义 => 在数学和计算机科学中,递归指由一种或多种简单的基本情况定义的一类对象或方法,并规定其他所有情况都能被还原为其基本情况 递归 => 在函数的定义中使用函数...

  • 链表

    概述 链表(linked list)是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存储到下一个节点的指针 特性 单链表 每个节点都知道它下一个节点的地址 元...