你好世界
  • 入门
  • 框架
  • Webpack
  • 模式
  • 知识点
  • 面试题
  • Koa
  • Java
  • Python
  • MongoDB
  • Redis
  • Algorithm
  • AI 概述
  • 机器学习
  • 深度学习
  • 自然语言处理
  • 关键词说明
  • 使用技巧
  • 本地模型安装及下载
  • 调试
  • 测试
  • GIT
  • Network
  • Linux
  • VSCode
  • GitHub
  • Mock
  • 入门
  • 框架
  • Webpack
  • 模式
  • 知识点
  • 面试题
  • Koa
  • Java
  • Python
  • MongoDB
  • Redis
  • Algorithm
  • AI 概述
  • 机器学习
  • 深度学习
  • 自然语言处理
  • 关键词说明
  • 使用技巧
  • 本地模型安装及下载
  • 调试
  • 测试
  • GIT
  • Network
  • Linux
  • VSCode
  • GitHub
  • Mock
  • Algorithm

    • Algorithm
    • Diff

Diff

diff 算法是 vdom 中最核心、最关键的部分;
diff 算法能在日常使用 vue react 中体现出来(如key);

树 diff

时间复杂度 O(n^3)

第一遍:遍历 tree1
第二遍:遍历 tree2
第三遍:排序

1000个节点,要计算1亿次,算法不可用

vdom优化后

时间复杂度 O(n)

对比原则:

  1. 只比较同一层级,不跨级比较。
  2. tag 不相同,则直接删掉重建,不再深度比较。
  3. tag 和 key,两者都相同,则认为是相同节点,不再深度比较。
示例示例
最后更新时间: 3/14/22, 7:25 PM
贡献者: DESKTOP-ER5718D\zt
Prev
Algorithm