Py算法与数据结构

使用说明与校订

如何学习

按全书目录顺序阅读。每节教材有独立章内目录;演示页可切换场景,也可独立打开或全屏投影。先完成测试,再查看解析。

进度与作答

标记章节与保存作答写入当前浏览器的本地存储,不上传到服务器。更换浏览器或清理存储后,需要重新保存;文件页存储受限制时可打印保留。保存按钮会明确报告是否成功。

内容来源与范围

本教材依据用户提供的整理翻译材料及之前的 Python 教材重编,保留原书四部、15 节结构。第 1、3、7 节补充独立的 Python 讲解;数组补充逆波兰栈应用与环形队列约定。

主要校订

常规选择排序不稳定;希尔复杂度依赖增量;三数取中不保证快排最坏对数时间;数组归并有 O(n) 工作空间,链表递归归并仍有栈空间。哈希平均常数成本依赖常规假设。Python list 存对象引用,浅拷贝不复制内层对象。

演示计数与模型

计数属于演示指定实现。不能当作 Python 内置排序的内部统计。外部归并在内存中模拟文件段,未实际读取超大文件;读写量是记录数模型。动态数组动画使用教学扩容规则,不声明与某个 CPython 版本的实际容量完全相同。

离线打开

下载完整站点后打开 index.html,目录、教材、演示和题目均可使用,不依赖外部字体或网络。imeows 链接需要联网。代码可复制到本地 Python 运行;部分片段为连续示例,应结合前面的定义。