# 课前零食互动程序 每个 `00-课前零食` 都链接到这里的一份 Python 3 小实验室。它们只使用标准库,不联网、不读写仓库文件;可以放心反复运行、改输入、观察中间状态。 在仓库根目录执行: ```bash python3 互动程序/11-平衡树/00-从排好队到会分身的树.py ``` 每个程序都提供预设数据:直接按回车即可开始。预设输入故意很小,目标是看清算法如何改变对象,而不是测试机器能跑多快。想自己实验时,按菜单输入相应数据;格式错误会给出提示并保留重试机会。 推荐按零食课的顺序使用:先在纸上完成“对象—状态—动作—账本”和停顿问题,写下对下一步的预测;再运行程序逐行验证。程序输出与自己的预测不同时,优先回到纸上的状态表找漏掉的信息,而不是直接把输出抄走。 这些程序是**学习可视化工具**,不是 OJ 提交代码,也不替代课程中的类 Python 伪代码或 C++17 参考实现。 ## 专项零食实验室 除各主题的总预热外,下面四类跨越较大的结构也各有一份独立实验室;它们同样遵循“先纸上预测,再运行”的顺序。 - [圆方树:从共享房间到圆方树](02-强连通与双连通/00-从共享房间到圆方树.py) - [Kruskal 重构树:把合并史写成树](06-最小与最大生成树/00-把合并史写成树.py) - [Splay:让刚访问的点靠近你](11-平衡树/00-让刚访问的点靠近你.py) - [文艺平衡树:把一段话翻过来](11-平衡树/00-把一段话翻过来.py) - [ODT:把相同的一段装进一个盒子](11-平衡树/00-把相同的一段装进一个盒子.py)