课程名称:前端框架及项目面试 聚焦Vue3/React/Webpack
课程章节:Vue3.0
主讲老师:双越老师
课程内容:
今天学习内容包括
什么是 diff算法?
课程收获:
diff 算法是 vdom 中最核心、最关键的部分
diff 算法能在日常使用 vue react 中体现出来(如 key)
diff 算法概述:
diff 即对比,是一个广泛的概念,如 linux diff 命令,git diff 命令
两个 js 对象也可以做 diff
两棵树做 diff,如这里的 vdom diff
树 diff 的时间复杂度 O(n^3)
第一,遍历 tree1
第二,遍历 tree2
第三,排序
100个节点,要计算100万次,算法不可用
优化时间复杂度到O(n)
只比较同一层级,不跨级比较
tag 不相同,则直接删掉重建,不再深度比较
tag 和 key,两者都相同,则认为是相同节点,不再深度比
课程学习截图: