没有合适的资源?快使用搜索试试~ 我知道了~
《数据结构》练习册答案
4星 · 超过85%的资源 需积分: 18 23 下载量 120 浏览量
2008-12-05
21:21:47
上传
评论 1
收藏 207KB DOC 举报
温馨提示
试读
31页
一本不错的数据结构的书,很有参考价值,适用于本科教学参考
资源详情
资源评论
资源推荐
习题一
一、选择题
下面说法错误的是 。
()算法原地工作的含义是指不需要任何额外的辅助空间。
()在相同的规模 下,复杂度 ()的撒在时间上总是优于复杂度
的算法。
()所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界。
()同一个算法,实现语言的级别越高,执行效率越低。
、( ) 、( )( ) 、( )( ) 、( )
一个递归算法必须包括 。
、递归部分 、终止条件和递归部分
、迭代部分 、终止条件和迭代部分
数据的 包括查找、插入、删除、更新、排序等操作类型。
、存储结构 、逻辑结构
、基本运算 、算法描述
在数据结构中,从逻辑上可以把数据结构分成 。
、动态结构和静态结构 、紧凑结构和非紧凑结构
、线性结构和非线性结构 、内部结构和外部结构
与数据元素本身的形式、内容、相对位置、个数无关的是数据的 。
、存储结构 、存储实现
、逻辑结构 、运算实现
通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 。
、数据具有同一特点
、不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致
、每个数据元素都一样
、数据元素所包含的数据项的个数要相等
以下说法正确的是 。
、数据元素是数据的最小单位
、数据项是数据的基本单位
、数据结构是带有结构的各数据项的集合
、一些表面上很不相同的数据可以有相同的逻辑结构
以下说法错误的是 。
、程序设计的实质是数据处理
、数据的逻辑结构是数据的组织形式,基本运算规定了数据的基本操作方式
1
、运算实现是完成运算功能的算法或这些算法的设计
、数据处理方式总是与数据的某种相应表示形式相联系,反之亦然
下列程序段的时间复杂度为 。
!!
!
、、 、、
下列叙述中有关好的编程风格的正确描述是 。
、程序中的注释是可有可无的
、对递归定义的数据结构不要使用递归过程
、过程应是自封闭的,尽量少使用全程变量
、多采用一些技巧以提高程序的运行效率
二、填空题
一个算法有 个特性: 有穷性 、 确定性 、 可行性 、有零个或多个输入、有一个或
多个输出。
算法的时间复杂度是指该算法所求解问题 规模(或频度) 的函数。
算法的可行性是指每一条 指令都应在有限的时间内完成 。
、线性结构的特征:逻辑上满足有且仅有一个开始结点和一个终端结点,且其余结点
有 且仅有唯一的一个直接前趋和一个直接后继 。
数据的存储结构被分为 顺序 、 链接 、 索引 和 散列 种。
存储结构是逻辑结构的 存储 实现,其基本目标是建立数据的 机内表示 。
数据表示任务是逐步完成的,即数据表示形式的变化过程是: 机外表示 →
逻辑结构 → 存储结构 。
数据处理任务也是逐步完成的,即转化过程是: 处理要求 → 基本运算 →
→ 算法 。
从逻辑关系上讲数据结构主要分为两大类,它们是 线性结构 和 非线性结构 。
数据结构的基本任务是数据结构的 设计 和 实现 。
三、给出下列算法的时间复杂度。
、"#$%
&
2
%'#$(()
*+,-!!
&
.
*+,))-)!!
..)
'#$'#$!.
/
, %#,'#$
/
0()(
)
、)
)-
&))
/
+1
习题二
一、选择题
线性表是具有 个 的有限序列。
、表元素 、字符 、数据元素
、数据项 2、信息项
线性表的静态链表存储结构与顺序存储结构相比优点是 。
、所有的操作算法实现简单 、便于随机存储
、便于插入和删除 、便于利用零散的存储器空间
若长度为 的线性表采用顺序存储结构,在其第 个位置插入一个新元素算法的时
间复杂度为 。
、+1
、
、、
()静态链表既有顺序存储的特点,又有动态链表的优点。所以,它存取表中第
个元素的时间与 无关;
()静态链表中能容纳元素个数的最大数在定义时就确定了,以后不能增加;
()静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
以上错误的是 。
3
s
、( )、( ) 、( ) 、( )、( )、( ) 、
()
将图 3 所示的 ' 所指结点加到 . 所指结点之后,其语句应为 。
、'-> %.!.-> %'
、. %'' %. %
、'-> %.-> %.-> %'-> %
、'-> %.-> %.-> %'
.
图 3插入结点示意
在双向链表存储结构中,删除 . 所指的结点时须修改指针 。
、.-> %->.,+,.->.,+,.->.,+,-> %.-> %
、.-> %.-> %-> %.-> %->.,+,.
、.->.,+,-> %..->.,+,.->.,+,->.,+,
、.->.,+,.-> %-> %.-> %.->.,+,->.,+,
在双向循环链表中,在 4 指针所指的结点后插入 5 所指向的新结点,其修改指针
的操作是 。
、.-> %55->.,+,..-> %->.,+,55-> %5
、.-> %5.-> %->.,+,55->.,+,.5-> %.->
%
、5->.,+,.5-> %.-> %
.-> %->.,+,5.-> %5
、5-> %.-> %5->.,+,..-> %5.-> %5
将两个各有 个元素的有序表归并成一个有序表,其最少的比较次数是 。
、 6-78-
在一个长度为 的顺序表中,在第 个元素(99!)之前插入一个新元素时
须向后移动 个元素。
、-、-!、--、
线性表 :;
,;
(<<;
,下列说法正确的是 。
、每个元素有有一个直接前驱和一个直接后继
、线性表中至少有一个元素
、表中诸元素的排列必须是由小到大或由大到小。
4
、除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和
直接后继。
对单链表表示法,以下说法错误的是 。
、数据域用于存储线性表的一个数据元素
、指针域(或链域)用于存放一个指向本结点所含数据元素的直接后继所在结
点的指针
、所有数据通过指针的链接而组织成单链表
、=>:: 称为空指针,它不指向任何结点只起标志作用
若指定有 个元素的向量,则建立一个有序单向链表的时间复杂性的量级是
。
、、、
、+1
以下说法正确的是 。
、顺序存储方式的优点是存储密度大且插入、删除运算率高
、链表的每个结点中都恰好包含一个指针
、线性表的顺序存储结构优于链式存储结构
、顺序存储结构属于静态结构而链式结构属于动态结构
以下说法错误的是 。
、对循环链表来说,从表中任一结点出发都能通过前后移操作扫描整个循环链
表
、对单链表来说,只有从头结点开始才能扫描表中全部结点
、双链表的特点是找结点的前趋和后继都很容易
、对双链中来说,结点. 的存储位置既存放在其前趋结点的后继指针域中,也
存放在它的后继结点的前趋指针中
以下说法错误的是 。
、求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存
储结构时实现的效率低
、序存储的线性表可以随机存取
、由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活
、线性表的链式存储结构优于顺序存储结构
二、判断题
线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。( 错 )
5
剩余30页未读,继续阅读
amliuqinghai
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1