课程 283 / 365
78%
正文已完成
L283多父节点、双向关系与环需要图
用关系约束判断树何时失效,并识别有向、无向和循环图。
图允许节点之间出现多条连接、多个方向和循环。真实关系一旦出现多父节点或环,就应使用图来表达。
能判断一组关系是否超出树的表达能力,并选择合适的图关系类型。
核心概念
先把关键判断说清楚
多父节点打破树约束
一门课程可以同时依赖两个前置能力,一个组件也可能被多个页面使用。
方向表达依赖或流向
A 依赖 B 与 B 依赖 A 含义不同;关注、调用和数据流通常要用有向边。
环必须被显式治理
循环依赖可能合法也可能造成死锁;遍历时需要访问标记和停止条件。
案例拆解
学习路线不是单根目录
“Agent 评测”课程既依赖“工具调用”,也依赖“评测指标”,并且会被产品与工程两条路线引用。
- 01
把课程作为节点,前置关系作为有向边。
- 02
把路线引用作为另一类边,不强行复制同一课程节点。
- 03
在发布前检测前置关系环,若 A 与 B 互为前置则要求课程作者修正。
案例结果
同一课程可拥有多个前置和多个使用路线,同时循环前置能被提前发现。
提交前练习
现在轮到你
审查一个看似层级的数据,判断它是否包含多父、双向或循环关系。
内容会自动保存在当前设备
查看参考答案与评分标准
参考答案
节点是软件包;边是A→B 表示 A 依赖 B;树破口是多个包可依赖同一库,一个包也有多个依赖;环处理是发布前拒绝直接或间接循环依赖并返回完整路径。
评分标准
- 节点和边没有混淆
- 明确指出树为何不足
- 环处理含可执行规则
本课收口 · 学习证据
完成,不等于随手打一个勾。
确认阅读、保存练习,再用 30 秒检查和一句话总结留下真实学习证据。
02完成本课练习0 / 4 项必填内容已填写
03通过理解检查约 30 秒
你现在更接近哪一种状态?
完成上面三项后,才能把本课记为已验证。
资料来源
继续核对与延伸阅读
本课内容最近更新于 。
- MDN Web Docs↗reference · 核对日期 2026-08-23
- JSON Schema Core Specification 2020-12↗standard · 核对日期 2026-08-23