《算法设计与分析试题》汇集了多个经典和现代的算法问题,旨在帮助学习者测试并提升其在复杂问题求解、数据结构应用及时间空间效率优化等方面的能力。文档内含详细解析,是深入理解算法精髓的理想资料。
一、填空题(每空1分,共15分)
1.算法的时间复杂性是算法运行所需要的资源量的度量,这个量应该只依赖于输入规模、硬件性能以及所采用的数据结构。
2.通常仅考虑三种情况下的时间复杂性,在实际操作中最具有实用价值的是最坏情况下的时间复杂性。
3.随机存取机RAM、随机存取存储程序机RASP和图灵机这三个计算模型在理论上拥有相同的计算能力。
4.非确定图灵机与确定图灵机的主要区别在于允许猜测步骤的存在,即可以在没有验证的情况下直接进入下一步骤的决策过程。
5.P类语言定义为能够在多项式时间内被算法解决的语言集合;NP类语言则指那些解能够在一个给定候选解上通过一个在多项式时间内的验证算法来确认是否正确的语言集。
6.设L1和L2分别是两个符号串集合,若存在映射f:Σ1* → Σ2*满足以下条件:
⑴ 对于所有x ∈ L1,有f(x) ∈ L2;
⑵ 映射函数f能够在多项式时间内计算得出。
7.递归程序常见的形式包括直接递归、间接递归、尾部调用和嵌套调用。