数据结构(C语言版)(第4版)习题
习题 11.1 选择题。(1)计算机识别、存储和加工处理的对象统称为 。A.数据 B.数据元素 C.数据结构 D.数据类型(2)数据结构通常是研究数据的 及它们之间的联系。A.存储和逻辑结构 B.存储和抽象 C.理想和抽象 D.理想和逻辑(3)下列不是数据的逻辑结构的是 。A.散列结构 B.线性结构 C.树形结构 D.图状结构(4)数据结构被形式地定义,其中D是 的有限集,R是 ___的有限集。A.算法 B.数据元素 C.数据操作 D.逻辑结构(5)组成数据的基本单位是 。A.数据项 B.数据类型 C.数据元素 D.数据变量(6)设数据结构A=(D,R),其中,D={1,2,3,4},R={r},r={,,,},则数据结构A是 。A.线性结构 B.树形结构 C.图状结构 D.集合(7)数据在计算机存储器中表示时,若物理地址与逻辑地址相同并且是连续的,则称为 。A.存储结构 B.逻辑结构C.顺序存储结构 D.链式存储结构(8)在数据结构的讨论中把数据结构从逻辑上分 。A.内部结构与外部结构 B.静态结构与动态结构B.线性结构与非线性结构 D.紧凑结构与非紧凑结构(9)对于一个算法的评价,不包括以下 方面的内容。A.健壮性和可读性 B.并行性C.正确性 D.时间空间复杂度(10)算法分析的两个方面是 。A.空间复杂性和时间复杂性 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性1.2 填空题(1)数据结构是一门研究非数值计算的程序设计问题中计算机的 以及它们之间的 和运算等的学科。(2)数据结构包括数据的 结构和 结构。(3)数据结构从逻辑上划分为3种基本类型,即 、 和 。(4)数据的物理结构被分为 、 、 和 种类型。(5)一种抽象数据结构类型包括 和 两个部分。(6)数据的逻辑结构是指 数据的存储结构是指 (7)数据结构是指指数数据及其相互之间的 当结点之间存在M对N(M:N)的联系时,称这种结构为 当结点之间存在1对N(1:N)的联系时,称这种结构为 (8)对算法从时间和空间两个方面进行衡量,分别称为 分析。(9)算法的效率可以分为 效率和 效率。(10)for(i=1,t=1,s=0;inext=p->next; p->next=-s;B. q->next=s; s->next=p;C. p->next=s->next; s->next=p;D. p->next=s; s->next=q;(8)设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为 A. p->next=p->next->nextB. p=p->nextC. p=->next->nextD. p->next=p(9)在一个以h为头的单循环链表中,p指针指向链尾的条件是 。A. p->next=h B. p->next=NULLC. p->next->next=h D. p->date=-1(10)对于只有首、尾两端进行操作的线性表,宜采用的存储结构为 。A.顺序表 B.用头指针表示的单循环链表C.单链表 D.用尾指针表示的单循环链表2.2 填空题(1)线性表是n个元素的________________。(2)线性表的存储结构有________________。(3)设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为 ,在链式存储结构上实现顺序查找的平均时间复杂度为 。(4)设顺序线性表中有n个数据元素,则在第i个位置上插入一个数据元素需要移动表中的 个数据元素,删除第i个位置上数据元素需要移动表中的 个元素。(5)若频繁地对线性表进行插入与删除操作,则该线性表应采用 存储结构。(6)链式存储结构中的结点包含 域和 域。(7)在双向链式表中每个结点有两个指针域,一个指向 另一个指向 (8)对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为 在表尾插入元素的时间复杂度为 (9)设指针变量p指向单链式表中的结点A,指针变量s指向被插入的结点B,则在结点A的后面插入结点B的操作序列为________。(10)设指针变量p指向单链式表中的结点A,则删除结点A的后继结点(假设存在)的语句序列为“s=p->next; p->next= ;free(s);”2.3 将一顺序表A中的元素逆置。例如原来顺序表A中的元素是100,90,80,70,60,50,40,逆置以后为40,50,60,70,80,90,100。要求算法所用的辅助空间尽可能地少,用非形式算法描述,并编写C语言程序。2.4 写一算法输出已知顺序表A中元素的最大值和最小值,并编写C语言程序。2.5 设一顺序表中的元素值递增有序,写一算法,将元素x插入到表中的适当位置,并保持顺序表的有序性。2.6设有两个按元素递增有序的顺序表A和B(单链式表A和B) ,编一程序将A表和B表归并成一个新的递增有序的顺序表C(单链式表C) ,值相同的元素均保留在C表中。2.7 设有两个线性表A和B都是单链表存储结构。同一个表中的元素各不相同,且递增有序,写一算法,构成一个新的线性表C,使C为A和B的交集,且C中的元素也递增有序。习题 33.1 选择题(1)下列说法正确的是_____。A. 堆栈是在两端操作、先进后出的线性表B. 堆栈是在一端操作、先进先出的线性表C. 队列是在一端操作、先进先出的线性表D. 队列是在两端操作、先进先出的线性表(2)栈和队列的共同点是_____。A. 都是先进后出B. 都是先进先出C. 只允许在端点处插入和删除元素D. 没有共同点(3)以下数据结构中是非线性结构的是_____。A. 队列 B.栈 C.线性表 D.二叉树(4)已知一个栈的入栈序列是1,2,3,…,n,输出序列是,若 ,则 为_____。𝑝1, 𝑝2, 𝑝3⋯, 𝑝𝑛 𝑝1=𝑛 𝑝𝑖A.i B.n-i C.n-i+1 D.不确定(5)当利用大小为N的一堆数组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入一个元素时首先应执行_____语句修改top指针。A.top++ B.top-- C.top=0