Py算法与数据结构

01 什么是算法?

规格、步骤、正确性与资源取舍

本节 12 题。先独立给出结论和理由,再对照解析;新增题与此前题目统一编号。涉及标签时,标签只表示记录身份。
第 01 题

问题 1

算法与 Python 程序有什么区别?

第 02 题

问题 2

设计“返回最大值”接口前,至少说明哪些输入与输出约定?

第 03 题

问题 3

把最大值初始设为 0,对 [-5,-2] 会发生什么?

第 04 题

问题 4

逐项求最大值处理完前 k 项后,应维护什么不变式?

第 05 题

问题 5

非空 n 项列表求最大值,键比较多少次?

第 06 题

问题 6

教材 maximum 与 maximum_indexed 都是 O(n) 时间,额外空间一样吗?

第 07 题

问题 7

“测试十个输入都正确,因此已证明全部输入正确”对吗?

第 08 题

问题 8

反复按姓名搜索,何时建立字典索引可能值得?

第 09 题

问题 9

建立姓名到记录的 dict 时,重复姓名有什么风险?

第 10 题

问题 10

二分循环每次不缩小候选范围,可能有什么问题?

第 11 题

问题 11

速度更快但内存超预算的算法一定更适合吗?

第 12 题

问题 12

已经有现成排序库,学习排序原理还有什么实际价值?