《数据结构——C语言描述》习题和答案 耿国华.doc

《数据结构——C语言描述》习题和答案 耿国华.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第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 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 /执行次数: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

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档