已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 1 章 绪论 习题 1 简述下列概念 数据 数据元素 数据项 数据对象 数据结构 逻辑结构 存储 结构 抽象数据类型 2 试举一个数据结构的例子 叙述其逻辑结构和存储结构两方面的含义和相互关系 3 简述逻辑结构的四种基本关系并画出它们的关系图 4 存储结构由哪两种基本的存储方法实现 5 选择题 1 在数据结构中 从逻辑上可以把数据结构分成 A 动态结构和静态结构 B 紧凑结构和非紧凑结构 C 线性结构和非线性结构 D 内部结构和外部结构 2 与数据元素本身的形式 内容 相对位置 个数无关的是数据的 A 存储结构 B 存储实现 C 逻辑结构 D 运算实现 3 通常要求同一逻辑结构中的所有数据元素具有相同的特性 这意味着 A 数据具有同一特点 B 不仅数据元素所包含的数据项的个数要相同 而且对应数据项的类型要一致 C 每个数据元素都一样 D 数据元素所包含的数据项的个数要相等 4 以下说法正确的是 A 数据元素是数据的最小单位 B 数据项是数据的基本单位 C 数据结构是带有结构的各数据项的集合 D 一些表面上很不相同的数据可以有相同的逻辑结构 5 以下与数据的存储结构无关的术语是 A 顺序队列 B 链表 C 有序表 D 链栈 6 以下数据结构中 是非线性数据结构 A 树 B 字符串 C 队 D 栈 6 试分析下面各程序段的时间复杂度 1 x 90 y 100 while y 0 if x 100 x x 10 y else x 2 for i 0 i n i for j 0 j m j a i j 0 3 s 0 for i 0 i n i for j 0 j n j s B i j sum s 4 i 1 while i n i i 3 5 x 0 for i 1 i n i for j 1 j1 y 0 while x y 1 y 1 y 1 O 1 2 O m n 3 O n2 4 O log3n 5 因为 x 共执行了 n 1 n 2 1 n n 1 2 所以执行时间为 O n2 6 O n 第 2 章 线性表 1 选择题 1 一个向量第一个元素的存储地址是 100 每个元素的长度为 2 则第 5 个元素的 地址是 A 110 B 108 C 100 D 120 2 在 n 个结点的顺序表中 算法的时间复杂度是 O 1 的操作是 A 访问第 i 个结点 1 i n 和求第 i 个结点的直接前驱 2 i n B 在第 i 个结点后插入一个新结点 1 i n C 删除第 i 个结点 1 i n D 将 n 个结点从小到大排序 3 向一个有 127 个元素的顺序表中插入一个新元素并保持原来顺序不变 平均要 移动 的元素个数为 A 8 B 63 5 C 63 D 7 4 链接存储的存储结构所占存储空间 A 分两部分 一部分存放结点值 另一部分存放表示结点间关系的指针 B 只有一部分 存放结点值 C 只有一部分 存储表示结点间关系的指针 D 分两部分 一部分存放结点值 另一部分存放结点所占单元数 5 线性表若采用链式存储结构时 要求内存中可用存储单元的地址 A 必须是连续的 B 部分地址必须是连续的 C 一定是不连续的 D 连续或不连续都可以 6 线性表 在 情况下适用于使用链式结构实现 A 需经常修改 中的结点值 需不断对 进行删除插入 C 中含有大量的结点 中结点结构复杂 7 单链表的存储密度 A 大于 1 B 等于 1 C 小于 1 D 不能确定 8 将两个各有 n 个元素的有序表归并成一个有序表 其最少的比较次数是 A n B 2n 1 C 2n D n 1 9 在一个长度为 n 的顺序表中 在第 i 个元素 1 i n 1 之前插入一个新元素 时须向后移动 个元素 A n i B n i 1 C n i 1 D i 10 线性表 L a1 a2 an 下列说法正确的是 A 每个元素都有一个直接前驱和一个直接后继 B 线性表中至少有一个元素 C 表中诸元素的排列必须是由小到大或由大到小 D 除第一个和最后一个元素外 其余每个元素都有一个且仅有一个直接前驱和直 接后继 11 若指定有 n 个元素的向量 则建立一个有序单链表的时间复杂性的量级是 A O 1 B O n C O n2 D O nlog2n 12 以下说法错误的是 A 求表长 定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储 结构时实现的效率低 B 顺序存储的线性表可以随机存取 C 由于顺序存储要求连续的存储区域 所以在存储管理上不够灵活 D 线性表的链式存储结构优于顺序存储结构 13 在单链表中 要将 s 所指结点插入到 p 所指结点之后 其语句应为 A s next p 1 p next s B p next s s next p next C s next p next p next s next D s next p next p next s 14 在双向链表存储结构中 删除 p 所指的结点时须修改指针 A p next prior p prior p prior next p next B p next p next next p next prior p C p prior next p p prior p prior prior D p prior p next next p next p prior prior 15 在双向循环链表中 在 p 指针所指的结点后插入 q 所指向的新结点 其修改指针 的操作是 A p next q q prior p p next prior q q next q B p next q p next prior q q prior p q next p next C q prior p q next p next p next prior q p next q D q prior p q next p next p next q p next prior q 2 算法设计题 1 将两个递增的有序链表合并为一个递增的有序链表 要求结果链表仍使用原来两 个链表的存储空间 不另外占用其它的存储空间 表中不允许有重复的数据 void MergeList L LinkList pb Lb next Lc pc La 用 La 的头结点作为 Lc 的头结点 while pa pc pa pa pa next else if pa data pb data pc next pb pc pb pb pb next else 相等时取 La 的元素 删除 Lb 的元素 pc next pa pc pa pa pa next q pb next delete pb pb q pc next pa pa pb 插入剩余段 delete Lb 释放 Lb 的头结点 2 将两个非递减的有序链表合并为一个非递增的有序链表 要求结果链表仍使用原 来两个链表的存储空间 不另外占用其它的存储空间 表中允许有重复的数据 void union LinkList pb Lb next 初始化 Lc pc La 用 La 的头结点作为 Lc 的头结点 Lc next NULL while pa pb if pa q pb pb pb next else if pb q pa pa pa next else if pa data data q pa pa pa next else q pb pb pb next q next Lc next Lc next q 插入 delete Lb 释放 Lb 的头结点 3 已知两个链表 A 和 B 分别表示两个集合 其元素递增排列 请设计算法求出 A 与 B 的交集 并存放于 A 链表中 void Mix LinkListpb lb next 设工作指针 pa 和 pb Lc pc La 用 La 的头结点作为 Lc 的头结点 whilewhile papc pa pa pa next u pb pb pb next delete u elseelse ifif pa datadata u pa pa pa next delete u elseelse u pb pb pb next delete u whilewhile pa u pa pa pa next delete u 释放结点空间 whilewhile pb u pb pb pb next delete u 释放结点空间 pc next null 置链表尾标记 delete Lb 注 本算法中也可对 B 表不作释放空间的处理 4 已知两个链表 A 和 B 分别表示两个集合 其元素递增排列 请设计算法求出两个 集合 A 和 B 的差集 即仅由在 A 中出现而不在 B 中出现的元素所构成的集合 并以同样 的形式存储 同时返回该集合的元素个数 voidvoid Difference LinkedList A B n A 和 B 均是带头结点的递增有序的单链表 分别存储了一个集合 本算法求两集合的 差集 存储于单链表 A 中 n 是结果集合中元素个数 调用时为 0 p A next p 和 q 分别是链表 A 和 B 的工作指针 q B next pre A pre 为 A 中 p 所指结点的前驱结点的指针 whilewhile p null pmax L next 假定第一个结点中数据具有最大值 p L next next while p NULL 如果下一个结点存在 if p data pmax data pmax p p p next return pmax data 7 设计一个算法 通过遍历一趟 将链表中所有结点的链接方向逆转 仍利用原表 的存储空间 void inverse LinkList L next NULL while p q p next q 指向 p 的后继 p next L next L next p p 插入在头结点之后 p q 8 设计一个算法 删除递增有序链表中值大于 mink 且小于 maxk 的所有元素 mink 和 maxk 是给定的两个参数 其值可以和表中的元素相同 也可以不同 void delete LinkList 首元结点 while p 查找第一个值 mink 的结点 if p while p 查找第一个值 maxk 的结点 q pre next pre next p 修改指针 while q p s q next delete q q s 释放结点空间 if 9 已知 p 指向双向循环链表中的一个结点 其结点结构为 data prior next 三个 域 写出算法 change p 交换 p 所指向的结点和它的前缀结点的顺序 知道双向循环链表中的一个结点 与前驱交换涉及到四个结点 p 结点 前驱结点 前驱的前驱结点 后继结点 六条链 voidvoid Exchange LinkedList p p 是双向循环链表中的一个结点 本算法将 p 所指结点与其前驱结点交换 q p llink q llink rlink p p 的前驱的前驱之后继为 p p llink q llink p 的前驱指向其前驱的前驱 q rlink p rlink p 的前驱的后继为 p 的后继 q llink p p 与其前驱交换 p rlink llink q p 的后继的前驱指向原 p 的前驱 p rlink q p 的后继指向其原来的前驱 算法 exchange 结束 10 已知长度为 n 的线性表 A 采用顺序存储结构 请写一时间复杂度为 O n 空间 复杂度为 O 1 的算法 该算法删除线性表中所有值为 item 的数据元素 题目分析 在顺序存储的线性表上删除元素 通常要涉及到一系列元素的移动 删第 i 个元素 第 i 1 至第 n 个元素要依次前移 本题要求删除线性表中所有值为 item 的数 据元素 并未要求元素间的相对位置不变 因此可以考虑设头尾两个指针 i 1 j n 从 两端向中间移动 凡遇到值 item 的数据元素时 直接将右端元素左移至值为 item 的数据 元素位置 voidvoid Dele
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 后现代视域下非理性主义哲学的多维度审视与反思
- 同态加密赋能安全生物认证技术的深度探索与实践
- 吉林省女子游泳运动员身体形态与运动成绩的相关性探究:基于多维度指标的分析
- 叶用型食用菊品种筛选及远缘杂交的探索与实践
- 台湾地区企业并购中董事忠实义务的法理剖析与实践审视
- 表演能力评估题目及参考答案
- 阿拉沟乡卫生院糖尿病防治培训考试试题及答案
- 2026年事业单位人事管理条例课后测试题及答案
- 2026年薪酬绩效专员招聘面试题库及参考答案
- 2026年文秘综合考试试题及答案
- 2026秋人教版初中英语七年级上册(新教材)教学计划含进度表
- 喷砂工考试题及答案
- 《石材加工企业职业病危害风险分级管控体系实施指南》
- 2026重庆科瑞南海制药有限责任公司招聘15人笔试备考题库及答案详解
- 2026年秋季学期小学三年级信息科技教学计划(人教版2024上册)
- 2026-2030改性塑料产业市场发展分析及发展趋势与投资战略研究报告
- 2026-2027学年人教版(新教材)小学美术五年级上册教学计划及进度表
- 2026年中医适宜技术三基培训题库(含答案)
- 制氮系统安装调试施工方案及技术措施
- 2026新教材统编版九年级上册历史:知识点梳理+课后练习答案
- 2026年江苏省职业卫生专业技术人员集中理论考试放射卫生检测与评价复习题及答案
评论
0/150
提交评论