数据结构语言版第版习题答案—严蔚敏简化版.docx





《数据结构语言版第版习题答案—严蔚敏简化版.docx》由会员分享,可在线阅读,更多相关《数据结构语言版第版习题答案—严蔚敏简化版.docx(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品名师归纳总结资料word 精心总结归纳 - - - - - - - - - - - -第 2 章线性表1选择题( 1)顺 序表中第一个元 素的储备的址 是 100 ,每 个元素的长度 为 2 ,就 第 5 个 元 素 的的 址 是 ()。A 110B 108C 100D 120答案: B说明:次序表中的数据连续储备,所以第5 个元素的的址为:100+2*4=108。( 3)向一个有127 个元素的次序表中插入一个新元素并保持原先次序不变,平均要移动的元素个数为()。A 8B 63.5C 63D 7答案: B说明:平均要移动的元素个数为:n/2 。( 4)链接储备的储备结构所占储备空间()。
2、A 分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B 只有一部分,存放结点值C 只有一部分,储备表示结点间关系的指针D 分两部分,一部分存放结点值,另一部分存放结点所占单元数答案: A( 5)线性表如采纳链式储备结构时,要求内存中可用储备单元的的址()。A 必需是连续的B 部分的址必需是连续的C 肯定是不连续的D 连续或不连续都可以答案: D( 6)线性表在()情形下适用于使用链式结构实现。A 需常常修改中的结点值需不断对进行删除插入C 中含有大量的结点中结点结构复杂答案: B说明:链表最大的优点在于插入和删除时不需要移动数据,直接修改指针即可。( 7)单链表的储备密度()。A
3、大于1B 等于1C 小于1D 不能确定答案: C说明:储备密度是指一个结点数据本身所占的储备空间和整个结点所占的储备空间之比,假设单链表一个结点本身所占的空间为D ,指针域所占的空间为N ,就储备密度为: D/D+N,肯定小于1。( 8)将两个各有n 个元素的有序表归并成一个有序表,其最少的比较次数是()。A nB 2n-1C 2nD n-1答案: A可编辑资料 - - - 欢迎下载精品名师归纳总结学习资料 名师精选 - - - - - - - - - -第 1 页,共 27 页 - - - - - - - - - -可编辑资料 - - - 欢迎下载精品名师归纳总结说明:当第一个有序表中全部的
4、元素都小于(或大于)其次个表中的元素,只需 要用其次个表中的第一个元素依次与第一个表的元素比较,总计比较n 次。( 9)在一个长度为n 的次序表中,在第i 个元素(1 i n+1 )之前插入一个新元素时须向后移动()个元素。A n-iB n-i+1C n-i-1D I答案: B10线性表L=a 1 , a2 ,an ,以下说法正确选项()。A 每个元素都有一个直接前驱和一个直接后继B 线性表中至少有一个元素C 表中诸元素的排列必需是由小到大或由大到小D 除第一个和最终一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接可编辑资料 - - - 欢迎下载精品名师归纳总结后继。答案: D(12)
5、 以下说法错误选项()。A 求表长、定位这两种运算在采纳次序储备结构时实现的效率不比采纳链式储备结可编辑资料 - - - 欢迎下载精品名师归纳总结构时实现的效率低B 次序储备的线性表可以随机存取C 由于次序储备要求连续的储备区域,所以在储备治理上不够敏捷 D 线性表的链式储备结构优于次序储备结构答案: 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=
6、s-next; D s-next=p-next; p-next=s;答案: D(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;答案: A(15) 在双向循环链表中,在p 指针所指的结点后插入q 所指向的新结点,其修改指针的操作是()。A p-nex
7、t=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;可编辑资料 - - - 欢迎下载精品名师归纳总结答案: C2算法设计题( 1)将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原先两个链表的储备空间,不另外占用其它的储备空间。表中
8、不答应有重复的数据。算法描述void MergeListLinkList &La,LinkList &Lb,LinkList &Lc/合并链表La 和 Lb ,合并后的新表使用头指针Lc 指向pa=La-next; pb=Lb-next;/pa和 pb 分别是链表La 和 Lb 的工作指针, 初始化为相应链表的第一个结点Lc=pc=La; /用 La 的头结点作为Lc 的头结点whilepa & pbifpa-datadatapc-next=pa;pc=pa;pa=pa-next;/取较小者La 中的元素,将pa 链接在pc 的后面,pa 指针后移else ifpa-datapb-data p
9、c-next=pb; pc=pb; pb=pb-next;/取较小者Lb 中的元素,将pb 链接在pc 的后面,pb 指针后移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 的头结点( 6)设计一个算法,通过一趟遍历在单链表中确定值最大的结点。算法描述ElemType Max LinkList L ifL-next=NULL return NULL;pmax=L-next; /假定第一个结点中数据具有
10、最大值p=L-next-next;whilep .= NULL /假如下一个结点存在ifp-data pmax-data pmax=p;/假如 p 的值大于pmax 的值,就重新赋值p=p-next;/遍历链表return pmax-data;第 3 章栈和队列1选择题可编辑资料 - - - 欢迎下载精品名师归纳总结( 1)如让元素1, 2, 3 , 4, 5 依次进栈,就出栈次序不行能显现在()种情形。 A 5 , 4 , 3, 2, 1B 2 , 1 , 5, 4, 3C 4, 3, 1 , 2, 5D 2, 3, 5 , 4 , 1答案: C说明:栈是后进先出的线性表,不难发觉C 选项中
11、元素1 比元素2 先出栈,违反了栈的后进先出原就,所以不行能显现C 选项所示的情形。( 2)如已知一个栈的入栈序列是1, 2, 3,, ,n,其输出序列为p1 , p2 , p3 ,, ,pn ,如 p1=n ,就pi 为()。A iB n-iC n-i+1D不确定答案: C说明:栈是后进先出的线性表,一个栈的入栈序列是1, 2, 3,, ,n ,而输出序列的 第一个元素为n ,说明1,2 ,3,, , n 一次性全部进栈,再进行输出,所以p1=n ,p2=n-1 ,, , pi=n-i+1。( 3)数组用来表示一个循环队列,为当前队列头元素的前一位置,为队尾元素的位置,假定队列中元素的个数小
12、于,运算队列中元素个数的公式为()。 A r-fB n+f-r%nC n+r-fD( n+r-f%n答案: D说明:对于非循环队列,尾指针和头指针的差值便是队列的长度,而对于循环队列,差值可能为负数,所以需要将差值加上MAXSIZE(此题为n),然后与MAXSIZE(此题为n)求余,即(n+r-f%n。( 4)链式栈结点为:data,link, top指向栈顶.如想摘除栈顶结点,并将删除结点的值储存到x 中 ,就应执行操作()。A x=top-data;top=top-link。B top=top-link;x=top-link。C x=top;top=top-link。D x=top-lin
13、k。答案: A说明: x=top-data将结点的值储存到x中,top=top-link栈顶指针指向栈顶下一结点,即摘除栈顶结点。( 5)设有一个递归算法如下int factint n /n 大于等于0ifn=0 return 1;else return n*factn-1;就运算factn 需要调用该函数的次数为()。A n+1B n-1CnDn+2答案: A说明:特别值法。设n=0 ,易知仅调用一次factn函数,应选A 。( 6)栈在()中有所应用。A递归调用B函数调用C表达式求值D前三个选项都有答案: D说明:递归调用、函数调用、表达式求值均用到了栈的后进先出性质。可编辑资料 - -
14、- 欢迎下载精品名师归纳总结( 7)为解决运算机主机与打印机间速度不匹配问题,通常设一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机就依次从该缓冲区中取出数据。该缓冲区的逻 辑结构应当是()。A队列B 栈C线性表D有序表答案: A说明:解决缓冲区问题应利用一种先进先出的线性表,而队列正是一种先进先出的线性表。( 8)设栈S 和队列Q 的初始状态为空,元素e1、 e2 、 e3、 e4 、 e5 和 e6 依次进入栈S, 一个元素出栈后即进入Q ,如 6 个元素出队的序列是e2、 e4 、e3 、e6、e5 和 e1 ,就栈S 的容量至少应当是()。A 2B 3C 4D6答案:
15、B说明:元素出队的序列是e2、 e4 、 e3 、 e6、 e5 和 e1 ,可知元素入队的序列是e2、 e4、e3、 e6、 e5 和 e1,即元素出栈的序列也是e2 、 e4、 e3 、 e6、 e5 和 e1,而元素e1、 e2 、 e3、e4、 e5 和 e6 依次进入栈,易知栈S 中最多同时存在3 个元素,故栈S 的容量至少为3。( 9)如一个栈以向量V1.n储备,初始栈顶指针top 设为 n+1 ,就元素x 进栈的正确操作是 。A top+; Vtop=x;B Vtop=x; top+;C top-; Vtop=x;D Vtop=x; top-;答案: C说明:初始栈顶指针top
16、为 n+1 ,说明元素从数组向量的高端的址进栈,又由于元素储备在向量空间V1.n中,所以进栈时top 指针先下移变为n,之后将元素x 储备在Vn 。( 10 )设计一个判别表达式中左,右括号是否配对显现的算法,采纳()数据结构最佳。A线性表的次序储备结构B队列C.线性表的链式储备结构D.栈答案: D说明:利用栈的后进先出原就。( 11)用链接方式储备的队列,在进行删除运算时()。A.仅修改头指针B.仅修改尾指针C.头、尾指针都要修改D.头、尾指针可能都要修改答案: D说明:一般情形下只修改头指针,但是,当删除的是队列中最终一个元素时,队尾指针也丢失了,因此需对队尾指针重新赋值。( 12 )循环
17、队列储备在数组A0.m中,就入队时的操作为()。A. rear=rear+1B. rear=rear+1%m-1C. rear=rear+1%mD. rear=rear+1%m+1答案: D说明:数组A0.m中共含有m+1 个元素,故在求模运算时应除以m+1。可编辑资料 - - - 欢迎下载精品名师归纳总结( 13 )最大容量为n 的循环队列,队尾指针是rear,队头是front,就队空的条件是()。A. rear+1%n=frontB. rear=frontC rear+1=frontD. rear-l%n=front答案: B解 释 : 最 大 容 量 为n的 循 环 队 列 , 队 满
18、条 件 是 rear+1%n=front, 队 空 条 件 是rear=front。( 14 )栈和队列的共同点是()。A. 都是先进先出B.都是先进后出C.只答应在端点处插入和删除元素D.没有共同点答案: C说明:栈只答应在栈顶处进行插入和删除元素,队列只答应在队尾插入元素和在队头删除元素。( 15 )一个递归算法必需包括()。A.递归部分B.终止条件和递归部分C.迭代部分D.终止条件和迭代部分答案: B2算法设计题( 1)将编号为0 和 1 的两个栈存放于一个数组空间Vm 中, 栈底分别处于数组的两端。 当第0 号栈的栈顶指针top0 等于 -1 时该栈为空,当第1 号栈的栈顶指针top1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构语言版第版习题答案严蔚敏简化版 数据结构 语言版 习题 答案 严蔚敏 简化

限制150内