数据结构习题及答案——严蔚敏_课后习题答案20794.pdf
《数据结构习题及答案——严蔚敏_课后习题答案20794.pdf》由会员分享,可在线阅读,更多相关《数据结构习题及答案——严蔚敏_课后习题答案20794.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章绪论选择题 1.组成数据的基本单位是 A 数据项 B 数据类型 C 数据元素 D 数据变量 2.数据结构是研究数据的以及它们之间的相互关系。A 理想结构物理结构 B 理想结构抽象结构 C 物理结构逻辑结构 D 抽象结构逻辑结构 3.在数据结构中从逻辑上可以把数据结构分成 A动态结构和静态结构 B紧凑结构和非紧凑结构 C线性结构和非线性结构D内部结构和外部结构 4.数据结构是一门研究非数值计算的程序设计问题中计算机的以及它们之间的和运算等的学科。A 数据元素 B 计算方法 C 逻辑存储 D 数据映像 A 结构 B 关系 C 运算 D 算法 5.算法分析的目的是。A 找出数据结构的合理性 B
2、 研究算法中的输入和输出的关系 C 分析算法的效率以求改进 D 分析算法的易懂性和文档性 6.计算机算法指的是它必须具备输入、输出和等 5 个特性。A 计算方法 B 排序方法 C 解决问题的有限运算序列 D 调度方法 A 可执行性、可移植性和可扩充性 B 可行性、确定性和有穷性 C 确定性、有穷性和稳定性 D 易读性、稳定性和安全性二、判断题 1.数据的机内表示称为数据的存储结构。2.算法就是程序。3.数据元素是数据的最小单位。4.算法的五个特性为有穷性、输入、输出、完成性和确定性。5.算法的时间复杂度取决于问题的规模和待处理数据的初态。三、填空题 1.数据逻辑结构包括_、_、_ 和_四种类型
3、其中树形结构和图形结构合称为_。2.在线性结构中第一个结点_前驱结点其余每个结点有且只有_个前驱结点最后一个结点_后续结点其余每个结点有且只有_个后续结点。3.在树形结构中树根结点没有_结点其余每个结点有且只有_个前驱结点叶子结点没有_结点其余每个结点的后续结点可以_。4.在图形结构中每个结点的前驱结点数和后续结点数可以_。5.线性结构中元素之间存在_关系树形结构中元素之间存在_关系图形结构中元素之间存在_关系。6.算法的五个重要特性是_、_、_、_、_。7.数据结构的三要素是指_、_和_。8.链式存储结构与顺序存储结构相比较主要优点是_。9.设有一批数据元素为了最快的存储某元素数据结构宜用_
4、结构为了方便插入一个元素数据结构宜用_结构。四、算法分析题 1.求下列算法段的语句频度及时间复杂度参考答案选择题 1.C 2.C 3.C 4.A、B 5.C 6.C、B 二、判断题:1、2、3、4、5、三、填空题 1、线性、树形、图形、集合非线性网状 2、没有 1 没有 1 3、前驱 1 后继任意多个 4、任意多个 5、一对一一对多多对多 6、有穷性确定性可行性输入输出 7、数据元素逻辑结构存储结构 8、插入、删除、合并等操作较方便 9、顺序存储链式存储四、算法分析题 fori1 iltn i forj 1 j lti j xx1 分析该算法为一个二重循环执行次数为内、外循环次数相乘但内循环次
5、数不固定与外循环有关因些时间频度 Tn123nnn1/2 有 1/4Tn/n21 故它的时间复杂度为 n2 即 n 与 n2 数量级相同。2、分析下列算法段的时间频度及时间复杂度 for i1iltni for j1jltij for k1kltjk xij-k 分析算法规律可知时间频度Tn112123.123n 由于有1/6 Tn/n3 1故时间复杂度为n3 第二章线性表一、选择题 1.一个线性表第一个元素的存储地址是 100 每个元素的长度为 2 则第 5 个元素的地址是 A110 B108C100 D120 2.向一个有 127 个元素的顺序表中插入一个新元素并保持原来顺序不变平均要移动
6、个元素。A64B63 C63.5 D7 3.线性表采用链式存储结构时其地址。A 必须是连续的 B 部分地址必须是连续的 C 一定是不连续的 D 连续与否均可以 4.在一个单链表中若 p 所指结点不是最后结点在 p 之后插入 s 所指结点则执行 As-gtnextpp-gtnexts B s-gtnextp-gtnextp-gtnexts Cs-gtnextp-gtnextps Dp-gtnextss-gtnextp 5.在一个单链表中若删除p 所指结点的后续结点则执行 Ap-gtnextp-gtnext-gtnext Bpp-gtnext p-gtnextp-gtnext-gtnext Cp-
7、gtnextp-gtnext Dp p-gtnext-gtnext 6.下列有关线性表的叙述中正确的是 A 线性表中的元素之间隔是线性关系 B 线性表中至少有一个元素 C 线性表中任何一个元素有且仅有一个直接前趋 D线性表中任何一个元素有且仅有一个直接后继 7.线性表是具有n个的有限序列n0 A 表元素 B 字符 C 数据元素 D 数据项二、判断题 1.线性表的链接存储表中元素的逻辑顺序与物理顺序一定相同。2.如果没有提供指针类型的语言就无法构造链式结构。3.线性结构的特点是只有一个结点没有前驱只有一个结点没有后继其余的结点只有一个前驱和后继。4.语句 pp-gtnext 完成了指针赋值并使
8、p 指针得到了 p 指针所指后继结点的数据域值。5.要想删除 p 指针的后继结点我们应该执行 qp-gtnext p-gtnextq-gtnext freeq。三、填空题 1.已知 P为单链表中的非首尾结点在 P 结点后插入 S 结点的语句为_。2.顺序表中逻辑上相邻的元素物理位置相邻单链表中逻辑上相邻的元素物理位置_相邻。3.线性表 La1a2.an 采用顺序存储假定在不同的 n1 个位置上插入的概率相同则插入一个新元素平均需要移动的元素个数是_ 4.在非空双向循环链表中在结点 q 的前面插入结点 p 的过程如下 p-gtpriorq-gtprior q-gtprior-gtnextp p-
9、gtnextq _ 5.已知 L 是无表头结点的单链表是从下列提供的答案中选择合适的语句序列分别实现 1 表尾插入 s 结点的语句序列是_ 2 表 尾 插 入 s 结 点 的 语 句 序 列 是 _ p-gtnexts pL Ls p-gtnexts-gtnext s-gtnextp-gtnext s-gtnextL s-gtnextnull whilep-gtnext Q pp-next whilep-gtnextnull pp-gtnext 四、算法设计题 1.试编写一个求已知单链表的数据域的平均值的函数数据域数据类型为整型。2.已知带有头结点的循环链表中头指针为 head 试写出删除并释
10、放数据域值为 x 的所有结点的 c 函数。3.某百货公司仓库中有一批电视机按其价格从低到高的次序构成一个循环链表每个结点有价格、数量和链指针三个域。现出库销售 m 台价格为 h 的电视机试编写算法修改原链表。4.某百货公司仓库中有一批电视机按其价格从低到高的次序构成一个循环链表每个结点有价格、数量和链指针三个域。现新到 m 台价格为 h的电视机试编写算法修改原链表。5.线性表中的元素值按递增有序排列针对顺序表和循环链表两种不同的存储方式分别编写 C 函数删除线性表中值介于 a 与 bab 之间的元素。6.设 Aa0a1a2.an-1Bb0b1b2.bm-1 是两个给定的线性表它们的结点个数分别
11、是 n 和 m 且结点值均是整数。若nm且 ai bi 0iltn 则AB 若nltm 且aibi 0iltn 则AltB 若存在一个j jltm jltn 且 aibi 0iltj 若 ajltbj 则 AltB 否则 AgtB。试编写一个比较 A 和 B 的 C 函数该函数返回-1 或 0 或 1 分别表示 AltB 或 AB 或 AgtB。7.试编写算法删除双向循环链表中第 k 个结点。8.线性表由前后两部分性质不同的元素组成a0a1.an-1b0b1.bm-1m和n为两部分元素的个数若 线 性 表 分 别 采 用 数 组 和 链 表 两 种 方 式 存 储 编 写 算 法 将 两 部
12、分 元 素 换 位 成b0b1.bm-1a0a1.an-1 分析两种存储方式下算法的时间和空间复杂度。9.用循环链表作线性表 a0a1.an-1 和 b0b1.bm-1 的存储结构头指针分别为 ah 和 bh 设计 C 函数把两个线性表合并成形如 a0b0a1b1的线性表要求不开辟新的动态空间利用原来循环链表的结点完成合并操作结构仍为循环链表头指针为 head 并分析算法的时间复杂度。10.试写出将一个线性表分解为两个带有头结点的循环链表并将两个循环链表的长度放在各自的头结点的数据域中的 C 函数。其中线性表中序号为偶数的元素分解到第一个循环链表中序号为奇数的元素分解到第二个循环链表中。11.
13、试写出把线性链表改为循环链表的 C 函数。12.己知非空线性链表中 x 结点的直接前驱结点为 y 试写出删除 x 结点的 C 函数。参考答案一、选择题 1.B 2.C 3.D 4.B 5.A 6.A 7、C 二、判断题参考答案 1、2、3、4、5、三、填空题 1、s-gtnextp-gtnext p-gtnexts 2、一定不一定 3、n/2 4、q-gtpriorp 5、16 3 2 2 91 7 四、算法设计题 1、include quotstdio.hquot include quotmalloc.hquot typedef struct node int data struct nod
14、e link NODE int averNODE head int i0sum0ave NODE p phead whilepNULL pp-gtlinki sumsump-gtdata avesum/i return ave 2、include quotstdio.hquot include quotmalloc.hquot typedef struct node int data/假设数据域为整型/struct node link NODE void del_linkNODE headint x/删除数据域为 x 的结点/NODE pqs phead qhead-gtlink whileq
15、head ifq-gtdatax p-gtlinkq-gtlink sq qq-gtlink frees else pq qq-gtlink 3、void delNODE headfloat priceint num NODE pqs pheadqhead-gtnext whileq-gtpriceltpriceampampqhead pq qq-gtnext ifq-gtpriceprice q-gtnumq-gtnum-num else printfquot 无此产品 quot ifq-gtnum0 p-gtnextq-gtnext freeq 4、include quotstdio.hq
16、uot include quotmalloc.hquot typedef struct node float price int num struct node next NODE void insNODE headfloat priceint num NODE pqs pheadqhead-gtnext whileq-gtpriceltpriceampampqhead pq qq-gtnext ifq-gtpriceprice q-gtnumq-gtnumnum else sNODE mallocsizeofNODE s-gtpriceprice s-gtnumnum s-gtnextp-g
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 习题 答案 严蔚敏 课后 20794
限制150内