严蔚敏《数据结构》C语言版习题答案与解析

需积分: 9 1 下载量 148 浏览量 更新于2024-07-31 收藏 298KB DOC 举报
"这是一份针对严蔚敏《数据结构(c语言版)习题集》的解答集,由kaoyan.com计算机版版主一具编写,并有多位网友参与修订。解答采用类C语言,旨在促进理解和交流,不保证程序能直接运行。解答包括源代码和部分题目分析,未解决的题目有5.20和10.40。作者鼓励读者先尝试解题后再参考答案,并欢迎反馈错误和改进建议。" 《数据结构习题集答案(C语言版)》是针对严蔚敏教授编写的《数据结构(c语言版)习题集》的一份详尽解答,由一具kaoyan.com计算机版版主编写。这份习题集答案包含了书中所有算法设计题目的解决方案,且经过多位网友的修订和完善,如siice、龙抬头、iamkent、zames和birdthinking等人的贡献。解答采用了类C语言描述,注重可读性和交流性,但并不保证程序可以直接在计算机上成功运行。 解答集遵循的原则是提供源代码和必要注释,对于一些复杂的题目会附带简要的分析说明。对于作者未能解决的题目,会进行讨论。目前还有5.20和10.40两道题目尚未解决。作者鼓励读者在尝试解题并深入思考后再查阅答案,以提高学习效果。同时,作者也承认解答中可能存在错误和不足,期望读者在阅读过程中发现并提出,以共同提升算法质量。 举两个具体的习题例子,1.16题是一个简单的冒泡排序函数`print_descending`,它接受三个整数输入,按照从大到小的顺序输出。这个函数使用了双目运算符`<->`来表示交换操作,实现了基本的冒泡排序算法。 1.17题是一个求斐波那契序列的函数`fib`,它根据给定的阶`k`和位置`m`,计算并返回斐波那契序列的第`m`项。该函数使用了动态规划的方法,通过保存已计算的斐波那契数,减少了计算时间,使其时间复杂度达到O(m^2)。 这些解答不仅提供了算法实现,还包含了解题思路,对于学习数据结构和C语言编程的读者来说,是非常有价值的参考资料。通过深入理解和实践这些习题,读者可以更好地掌握数据结构的基本概念和算法实现技巧。