数据结构——C语言描述习题和答案耿国华 下载本文

内容发布更新时间 : 2024/5/21 10:22:05星期一 下面是文章的全部内容请认真阅读。

如对您有帮助,欢迎下载支持,谢谢!

第1章 绪 论 习题一、问答题1. 什么是数据结构?2. 四类基本数据结构的名称与含义。3. 算法的定义与特性。4. 算法的时间复杂度。5. 数据类型的概念。6. 线性结构与非线性结构的差别。7. 面向对象程序设计语言的特点。8. 在面向对象程序设计中,类的作用是什么?9. 参数传递的主要方式及特点。10.抽象数据类型的概念。二、判断题1. 线性结构只能用顺序结构来存放,非线性结构只能用非顺 序结构来存放。2. 算法就是程序。3. 在高级语言(如 C、或 PASCAL)中,指针类型是原子 类型。三、计算下列程序段中 XX1 的语句频度 fori1iltni forj1jltij fork1kltjk xx1 提示: i1 时: 1 11×1/2 112/2 i2 时: 12 12×2/2 222/2 i3 时: 123 13×3/2 332/2 … in 时: 123……n 1n×n/2 nn2/2 fn 123……n 12 22 32 …… n2 / 2 1nn/2 nn12n1/6 / 2 nn1n2/6 n3/6n2/2n/3 区分语句频度和算法复杂度: Ofn On3 四 、 试 编 写 算 法 求 一 元 多 项 式Pnxa0a1xa2x2a3x3…anxn 的值 Pnx0,并确定算法中的每一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能的小,规定算法中不能使用求幂函数。注意:本题中的输入 aii01…n x 和 n,输出为 Pnx0.通常算法的输入和输出可采用下列两种方式之一: (1) 通过参数表中的参数显式传递; (2) 通过全局变量隐式传递。 试讨论这两种方法的优缺点,并在本题算法中以你认为较好的一种方式实现输入和输出。提示:float

1

如对您有帮助,欢迎下载支持,谢谢!

PolyValuefloat a float x int n…… 核心语句: p1 x 的零次幂 s0 i 从 0 到 n 循环 ssaip ppx 或: px x 的一次幂 sa0 i 从 1 到 n 循环 ssaip ppx 实习题 设计实现抽象数据类型“有理数”。基本操作包括有理数的加法、减法、乘法、除法,以及求有理数的分子、分母。 第一章答案1.3 计算下列程序中 xx1 的语句频度 fori1iltni forj1jltij fork1kltjk xx1 【解答】xx1 的语句频度为: Tn112(123)……(12……n)nn1n2/61. 4 试编写算法,求 pnxa0a1xa2x2…….anxn 的值 pnx0并确定算法中每一语句的 执行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用求 幂函数。注意:本题中的输入为 aii01…n、x 和 n输出为 Pnx0。 算法的输入和输 出采用下列方法(1)通过参数表中的参数显式传递(2)通过全局变量隐式传递。讨论 两种方法的优缺点,并在算法中以你认为较好的一种实现输入输出。【解答】(1)通过参数表中的参数显式传递 优点:当没有调用函数时,不占用内存,调用结束后形参被释放,实参维持,函数通 用性强,移置性强。 缺点:形参须与实参对应,且返回值数量有限。 (2)通过全局变量隐式传递 优点:减少实参与形参的个数,从而减少内存空间以及传递数据时的时间消耗 缺点:函数通用性降低,移植性差 算法如下:通过全局变量隐式传递参数 PolyValue int in float xap printf“nn” scanf“f”ampn printf“nx” scanf“f”ampx fori0iltni scanf“f ”ampai

2

如对您有帮助,欢迎下载支持,谢谢!

/执行次数:n 次 / pa0 fori1iltni ppaix /执行次数:n 次/ xxx printf“f”p 算法的时间复杂度:TnOn通过参数表中的参数显式传递float PolyValuefloat a float x int n float ps int i px sa0 fori1iltni ssaip /执行次数:n 次/ ppx returnp算法的时间复杂度:TnOn 第 2 章 线性表 习 题2.1 描述以下三个概念的区别:头指针,头结点,首元素结点。2.2 填空:(1) 在顺序表中插入或删除一个元素,需要平均移动__一半 __元素,具体移动的元素个数与__插入或删除的位置 __有关。(2) 在顺序表中,逻辑上相邻的元素,其物理位置_____ _相邻。在单链表中,逻辑上相邻的元素,其物理位置_ _____相邻。(3) 在带头结点的非空单链表中,头结点的存储位置由___ ___指示,首元素结点的存储位置由______指示, 除首元素结点外,其它任一元素结点的存储位置由__其 直接前趋的 next 域__指示。2.3 已知 L 是无表头结点的单链表,且 P 结点既不是首元素结点,也不是尾元素结点。按要求从下列语句中选择合适的语句序列。a. 在 P 结点后插入 S 结点的语句序列是:_(4)(1)_。 、b. 在 P 结点前插入 S 结点的语句序列是: 、 (7)(11)(8)(4) 、 、 、(1)。c. 在表首插入 S 结点的语句序列是: 、 (5)(12)。d. 在表尾插入 S 结点的语句序列是: 、 、 、 。 (11)(9)(1)(6)供选择的语句有:(1)P-gtnextS(2)P-gtnext

3