- 主题:react中tree diff的结果怎么用?
react中有一句广泛被引用的话“两个树的完全的 diff 算法是一个时间复杂度为 O(n^3) 的问题”
觉得很奇怪,两tree,对于第一个tree的每个node(此时复杂度为n),依次对其所有子node做:和另一个tree完整对比(这里复杂度为n^2)
然后再把两tree对调重新做一遍对比,最终复杂度是 2 * O(n^3)
关键是最后diff出来的结果是什么,有什么用啊?
--
FROM 36.110.51.*
新代替旧,一个circle之后,真实渲染。
【 在 sitepenfan (canvas) 的大作中提到: 】
: react中有一句广泛被引用的话“两个树的完全的 diff 算法是一个时间复杂度为 O(n^3) 的问题”
: 觉得很奇怪,两tree,对于第一个tree的每个node(此时复杂度为n),依次对其所有子node做:和另一个tree完整对比(这里复杂度为n^2)
: 然后再把两tree对调重新做一遍对比,最终复杂度是 2 * O(n^3)
: ...................
--
FROM 219.142.140.210
这样子粗暴,这个虚拟 DOM 真的性能更强吗?好怀疑哦。
【 在 shaolin (我的大小宝贝儿...) 的大作中提到: 】
: 新代替旧,一个circle之后,真实渲染。
--
FROM 27.154.225.*
【 在 shaolin 的大作中提到: 】
: 新代替旧,一个circle之后,真实渲染。
:
react diff那个算法我大概能懂,同层node之间一一比较,所以是O(n)
但不用react的diff算法的结果有什么鬼用啊?就是那个O(n^3)的
--
FROM 36.110.51.*