
12.5 diff 为什么是 O(n)
React 用三个假设——「只做同层比较」「type 不同直接重建」「用 key 标识同层元素」——把「树的最小编辑距离」的理论复杂度 O(n³) 降到了 O(n),代价是放弃「跨层复用」。

React 用三个假设——「只做同层比较」「type 不同直接重建」「用 key 标识同层元素」——把「树的最小编辑距离」的理论复杂度 O(n³) 降到了 O(n),代价是放弃「跨层复用」。

手写简易 diff 的目标是「理解 React 如何把两棵 vnode 树变成最小的 DOM 操作」——核心是「同层比较 + type 不同直接重建 + 用 key 匹配同一层数组」,把 O(n³) 降到 O(n)。

压缩、裁剪、加水印、抠图、拼接都在本地完成。不限张数、不限次数,图片不会传到服务器。

React 的 diff 只做「同层比较」「类型不同直接重建」「用 key 标识同一元素」三件事,把理论上 O(n³) 的树比较降到 O(n)——代价是放弃「跨层复用」。
最新评论
读过书不知道欧·亨利的人少。教科书上选文有
这小生活不错呀
不错,必须顶一下!
看着你还在坚持,很好
看来忙了也没时间更新博客了
NIce。学习了。。。。
网站不错!!!!
简洁实用,好文章!