补全:从根出发标记

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

(这一节用一个自造的小堆 Heap 模拟运行时:alloc(名) 造对象,link(持有者, 名) 让持有者引用它(持有者 None 表示「根」,比如一个变量),unlink 解除引用;计数归零就 free,free 会连带解除它对别人的引用。freed 记录释放顺序。)

补全 reachable(h, roots):从 roots(名字列表)出发沿 refs 走,交回能走到的对象集合(含根);再补 garbage(h, roots):堆里存在但走不到的对象,按名字排序。用它找出引用计数漏掉的环。

提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论