数据结构习题集(答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构习题
第一章绪论
1.1数据结构是一门研究非数值计算的程序设计问题中计算机的___①__以及它们之间的__②_ 和运算等的学科。
①A.数据元素 B.计算方法 C.逻辑存储 D.数据映像
②A.结构 B.关系 C.运算 D.算法
1.2 算法分析的目的是___①__ ,算法分析的两个主要方面是__②___ 。
① A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
C.分析算法的效率以求该进
D.分析算法的易懂性和文档性
② A.空间复杂度和时间复杂度 B.正确性和简明性
C.可读性和文档性
D.数据复杂性和程序复杂性
1.3 计算机算法指的是__①__ ,它必须具备输入、输出和__②_ 等5个重要特性。
① A.计算方法 B.排序方法
C.解决问题的有限运算序列
D.调度方法
② A.可读性、可移植性和可扩展性 B. 可读性、可移植性和有穷性
C.确定性、有穷性和可行性
D.易读性、稳定性和安全性
1.4数据元素是数据处理的基本单位;数据项是数据处理的_最小单位。
1.5数据结构是研究数据的逻辑结构___和__物理结构__,并对这种结构定义相适应的运算,设计出相应的算法,分析算法的效率。算法的效率包括时间和空间两个方面,分别称为_空间复杂度和时间复杂度。数据的逻辑结构是指_数据元素之间的关系__;包括线性结构、树形结构和图形结构三种类型,其中树形结构和图状结构合称为__非线性结构__。
1.6 线性结构中元素之间存在_一对一___ 关系,树形结构中元素之间存在_一对多___ 关系,图状结构中元素之间存在__多对多__ 关系。
1.7 数据结构在计算机中的表示称为数据的物理(或存储)结构,数据的物理结构可以采用_顺序存储和_链式存储__两种存储方法。
1.8顺序存储方法是把逻辑上相邻的元素存储在物理位置相邻的内存单元中;链式存储方法中元素间的关系是由__指针来表示_的。
第二章线性表
2.1 链表不具备的特点是 ____ 。
A.可随机访问任一结点
B.插入删除不需移动元素
C.不必事先估计存储空间
D.所需空间与其长度成正比
2.2 不带头结点的单链表head 为空的判定条件是____。
A. head==null
B. head->next==null
C. head->next==head
D. head !=null
2.3带头结点的单链表head 为空的判定条件是____。
A. head==null
B. head->next==null
C. head->next==head
D. head!=null
2.4 非空的循环单链表head 的尾结点(由p所指向)满足____。
A. p->next==null
B. p==null
C. p->next==head
D. p==head
2.5 在一个具有n 个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是____。
A. O(1)
B. O(n)
C. O(n2)
D. O(nlog2n)
2.6线性链表中各个结点之间的地址不一定连续。
2.7线性表中数据元素之间具有__一对一__,除第一个和最后一个元素外,其他数据元素有且只有_一个后
继和前趋。
2.8若频繁地对线性表进行插入和删除操作,该线性表采用链式存储结构比较合适。
2.9 在一个单链表中p所指结点之后插入一个s所指结点时,应执行s->next=_p->next_和p->next=_s_的操作。
2.10 已知具有n个元素的一维数组采用顺序存储结构,每个元素占k个存储单元,第一个元素的地址为LOC(a1),那么,LOC(ai)=__ LOC(a1)+(i-1)*k_。
2.12 若线性表采用顺序存储结构,每个数据元素占用3个存储单元,第11个数据元素的存储地址为130,则第1个数据元素的存储地址是100 。
2.12 若线性表采用顺序存储结构,线性表的最大长度为1000,每个数据元素占3个存储单元,则要分配给该线性表_3000__存储单元,若第一个数据元素的存储地址是2000,则第11个元素的存储地址是
__2030__。
2.13 以head为头结点循环双链表为空时,应满足head->llink= head,head->rlink= head。
2.14 在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是。
A.p=p->next;
B.p->next=p->next->next;
C.p->next=p;
D.p=p->next->next;
2.15 在单链表中,已知q指的结点是p指的结点的直接前驱结点,若在q和p指的结点之间插入一个由s指的结点,则需执行________。
A. s->next=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
2.16 用链表表示线性表的优点是()
A.便于随机存储 B.便于进行插入和删除操作
C. 占用的存储空间较顺序表少
D.元素的物理顺序与逻辑顺序相同
2.17 下面关于线性表的叙述中,错误的是()
A. 线性表采用顺序存储必须占用一片连续的存储单元
B. 线性表采用顺序存储便于进行插入和删除操作
C. 线性表采用链式存储不必占用一片连续的存储单元
D. 线性表采用链式存储便于进行插入和删除操作
2.18 线性表是具有n个()的有限序列
A. 数据项
B. 数据元素
C. 表元素
D. 字符
2.19长度为n的线性表采用链式存储结构,访问其第i个元素的算法时间复杂度为()
A. O(1)
B.O(n)
C. O(n2)
D.O(log2n)
2.20 在长度为n的顺序表删除第i(1≤i≤n)个元素,则需要向前移动元素的次数为()
A. i
B. n-i
C. n-i+1
D.n-i-1
2.21 在长度为n的顺序表中第i(1≤i≤n)个位置上插入一个元素时,为留出插入位置所需要移动元素的次数为()
A. n-i
B. i
C. n-i-1
D. n-i+1
2.22 以下对单链表的叙述错误的是()
A. 单链表中的每一个结点都由存放结点值的数据域和存放直接后继结点地址信息的指针域两部分组成
B.从单链表的第i 个结点出发,可以访问到链表中的任何一个结点
C.在单链表结构中加入头结点可以简化结点的插入和删除操作