其实diff的核心在于两点:

比对(diff的运算过程)

修改(diff的返回结果,输出生成的patch并操作)

树的BFS(广度优先遍历)/DFS(深度优先遍历),需要O(N)的时空复杂度

传统diff算法通过循环递归对节点进行依次对比效率低下,算法复杂度达到O(N^3)

传统diff算法追求(完全)比对和(最小)修改,而React、Vue则是放弃了完全及最小,只进行同级比较,才实现从O(N^3) => O(N)

最新文章

  1. 修改github.com域名解析
  2. 分享公司Basecode的用法
  3. Torch学习笔记1--Torch简介
  4. Cross join in excel --- Copy from Internet
  5. @Html.Raw()
  6. Android系统中自定义按键的短按、双击、长按事件
  7. BZOJ 1801中国象棋 DP
  8. JavaScipt选取文档元素的方法
  9. Girl_iOS100天学iOS的第一天(规划)
  10. Java中this和super的用法总结
  11. Linux下httpd服务与Apache服务的查看和启动
  12. C# DateDateTimePicker设置属性ShowCheckBox为True
  13. JDBC【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】
  14. 高质量的内容是SEO的关键
  15. 蛋白质结构模型和功能预测:Swiss-model工具的使用
  16. parent()、parents()和parentsUntil()的区别
  17. 课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 1、10个测验题(Neural Network Basics)
  18. JVM知识(三):内存模型和可见性
  19. Mysql优化与使用集锦
  20. linux 安装vscode

热门文章

  1. Unity_UIWidgets - 组件AppBar
  2. 【随笔记】Tina 系统的 ADB、声卡、网卡、串口多路共存
  3. C#,Winform软件防破译-源代码加密简单方法之.NET REACTOR(二)制作软件及软件试用时间限定
  4. LeetCode_单周赛_331
  5. .net 多地点计算中心点
  6. 学习Java Day23
  7. JAVA 进阶完结
  8. 什么是整体设备效率(OEE)?
  9. Win下依据端口排查步骤
  10. 快速删除 node_modules