数 据 结 构 习 题
计算机学院专业基础教研室
2012年12月
1
前 言
数据结构是计算机相关专业教学计划中的一门核心课程,是有志从事计算机与技术工作的人员的一门重要的专业基础课程。计算机相关学科各领域都要用到各种数据结构,要从事这些领域的工作,尤其是计算机应用领域的开发研制工作,必须具备良好的数据结构基础。
数据结构课程的教学要求是学会分析研究计算机加工的数据对象的特征,以便在实际应用中选择适当的数据结构、存储结构和相应的算法,初步掌握算法的时间与空间性能分析技巧,得到复杂程序设计的训练。
我们在认真总结多年教学经验和体会的基础上,结合新时期大学生的学习特点和要求,编写了这本《数据结构习题》,作为数据结构课程学习的配套教材,以希望通过习题的求解,使学生更好地学习和掌握课程内容,理解和掌握算法设计所需的方法和技术,为整个专业学习打下良好的基础。
由于时间仓促和编者水平所限,本书一定还存在着许多问题,敬请广大读者批评指正。
2
目 录
第一章 绪论????????????????????????????? 1 第二章 线性表???????????????????????????? 6 第三章 栈和队列???????????????????????????12 第四章 串?????????????????????????????‥19 第五章 数组和广义表????????????????????????‥22 第六章 树和二叉树????????????????????????‥‥28 第七章 图?????????????????????????????‥33 第九章 查找????????????????????????????‥38 第十章 内部排序???????????????????????????41
3
第一章 绪论
一、选择题
1. 算法的计算量的大小称为计算的( )。
A.效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于( )
A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(1),它必须具备(2) 这三个特性。
(1) A.计算方法 B. 排序方法
C. 解决问题的步骤序列 D. 调度方法
(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性
C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性
4.一个算法应该是( )。
A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C. 5. 下面关于算法说法错误的是( )
A.算法最终必须由计算机程序实现
B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是( )
(1)算法原地工作的含义是指不需要任何额外的辅助空间
(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算
法
(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为( )两大类。
A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是( )。
A.循环队列 B. 链表 C. 哈希表 D. 栈 9.以下数据结构中,哪一个是线性结构( )?
A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 10.以下那一个术语与数据的存储结构无关?( )
1
相关推荐: