闭卷重建需求矩阵与容器选型的ADT、表示不变量、操作与复杂度。
数据结构与抽象数据类型 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建统一接口与能力分层的ADT、表示不变量、操作与复杂度。
闭卷重建异常保证与事务式更新的ADT、表示不变量、操作与复杂度。
闭卷重建迭代、序列化与版本的ADT、表示不变量、操作与复杂度。
闭卷重建泛型、比较器与哈希注入的ADT、表示不变量、操作与复杂度。
闭卷重建对拍、性质测试与复杂度回归的ADT、表示不变量、操作与复杂度。
闭卷重建综合项目答辩与后续路线的ADT、表示不变量、操作与复杂度。
机制:Collection、Sequence、Map、Set、PriorityQueue等接口只暴露语义共有部分,特有能力通过更具体协议提供;实验:设计最小接口层次并检查数组/链表/堆是否被迫实现不合理操作;边界:让链表提供O(1)随机访问承诺或让堆提供有序迭代都是虚假抽象。
机制:先列操作、频率、顺序、重复、内存、稳定迭代和并发需求,再选结构或组合;实验:为缓存、调度器、自动补全和图分析分别填写决策矩阵;边界:为了API统一而隐藏关键复杂度差异,会让调用者在错误假设下使用。
机制:迭代顺序、修改失效和快照语义必须公开;序列化保存逻辑内容和版本而非裸指针布局;实验:对Map/Set输出稳定序列并从版本化格式恢复;边界:哈希桶顺序不应成为永久格式,恢复时要验证长度、重复键和不变量。
机制:基本保证维持不变量,强保证失败后状态不变;多步更新先准备资源再提交链接/size;实验:模拟扩容分配失败和比较器抛错,检查容器是否仍可用;边界:先修改size再分配/构造元素会留下半提交状态,清理路径也需测试。
机制:小规模随机操作与朴素参考模型逐步比对,性质测试生成边界序列,计数器监测复杂度退化;实验:为动态数组、字典、AVL、堆、Trie和DSU设计统一操作日志;边界:只测最后输出会漏中间不变量;随机测试必须保存seed或操作序列可复现。
机制:容器通过类型参数、比较器和哈希/相等策略复用,但策略需满足自反、传递和一致契约;实验:用反例比较器制造非传递顺序并观察树/堆失败;边界:比较器或哈希在元素入容器后改变会让结构找不到已有元素。
机制:提交容器库、契约、实现、单测/性质测试、复杂度证据和选型报告,再进入算法设计与面试题训练;实验:用一个真实工作负载比较两个候选结构并解释迁移成本;边界:数据结构正课是cs-04算法和cs-08面试刷题的前置;会套题不能替代实现与不变量证明。