严蔚敏《数据结构(C语言版)》习题集算法详解及代码

需积分: 10 1 下载量 201 浏览量 更新于2024-08-01 收藏 283KB DOC 举报
本文是针对严蔚敏编著的《数据结构(C语言版)习题集》中的算法设计题目提供详细解答的资料。作者强调了解答的主要目标是方便交流和阅读,但并不保证所有程序可以直接在计算机上运行,因为验证程序的正确性通常需要实际环境测试。解答内容包括了C语言实现的源代码,并在必要时提供了分析和简要说明,对于部分难度较大的问题,如5.20和10.40,仅给出了讨论。 章节1.16的习题是关于一个名为`print_descending`的函数,它接收三个整数作为输入,然后按照从大到小的顺序打印它们。通过使用冒泡排序算法,函数首先检查并交换输入值,使得最大的数位于第一个位置,然后依次输出。 1.17的问题是求解斐波那契数列中第m项的值,使用了递归与迭代的方法。函数`fib`接受三个参数:k表示阶数,m是序列的索引,f是返回值。如果k小于2或m为负数,函数返回错误;接着根据m的值计算斐波那契数列的值。当m小于等于k时,直接返回前两个数(0和1);对于k+1到m之间的值,通过循环计算并存储在数组`temp`中,最后返回第m项的值。 这份解答旨在帮助学习者理解和掌握数据结构的基本概念,通过实践解决实际问题,同时也鼓励读者在遇到问题时主动思考和尝试,提高自身的编程能力。作者欢迎读者在阅读过程中提出任何发现的错误或改进建议,以便共同进步。