数据结构习题集(答案).pdf
《数据结构习题集(答案).pdf》由会员分享,可在线阅读,更多相关《数据结构习题集(答案).pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构习题 第一章 绪论 数据结构是一门研究非数值计算的程序设计问题中计算机的_ 以及它们之间的_ 和运算等的学科。A.数据元素 B.计算方法 C.逻辑存储 D.数据映像 A.结构 B.关系 C.运算 D.算法 算法分析的目的是_,算法分析的两个主要方面是_。A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率 以求该进 D.分析算法的易懂性和文档性 A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 计算机算法指的是_,它必须具备输入、输出和_ 等 5 个重要特性。A.计算方法 B.排序方法 C.解决问题的有限运算序列
2、D.调度方法 A.可读性、可移植性和可扩展性 B.可读性、可移植性和有穷性 C.确定性、有穷性和可行性 D.易读性、稳定性 和安全性 数据元素是数据处理的 基本单位;数据项是数据处理的_最小单位。数据结构是研究数据的 逻辑结构_和_物理结构_,并对这种结构定义相适应的运算,设计出相应的算法,分析算法的效率。算法的效率包括时间和空间两个方面,分别称为_空间复杂度和时间复杂度。数据的逻辑结构是指_数据元素之间的关系_;包括线性结构、树形结构和 图形结构 三种类型,其中树形结构和图状结构合称为_非线性结构_。线性结构中元素之间存在_一对一_ 关系,树形结构中元素之间存在_一对多_ 关系,图状结构中元
3、素之间存在_多对多_ 关系。数据结构 在计算机中的表示称为数据的物理(或存储)结构,数据的物理结构可以采用_顺序存储和_链式存储_两种存储方法。顺序存储方法是把逻辑上相邻的元素 存储在物理位置 相邻的内存单元中;链式存储方法中元素间的关系是由_指针来表示_的。第二章 线性表 链表不具备的特点是 _。A.可随机访问任一结点 B.插入删除不需移动元素 C.不必事先估计存储空间 D.所需空间与其长度成正比 不带头结点的单链表 head 为空的判定条件是_。A.head=null B.head-next=null C.head-next=head D.head!=null 带头结点的单链表 head
4、为空的判定条件是_。A.head=null B.head-next=null C.head-next=head D.head!=null 非空的循环单链表 head 的尾结点(由 p 所指向)满足_。A.p-next=null B.p=null C.p-next=head D.p=head 在一个具有 n 个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是_。A.O(1)B.O(n)C.O(n2)D.O(nlog2n)线性链表中各个结点之间的地址 不一定 连续。线性表中数据元素之间具有_一对一_,除第一个和最后一个元素外,其他数据元素有且只有_一个后继和前趋。若频繁地对线性表进行插
5、入和删除操作,该线性表采用 链式 存储结构比较合适。在一个单链表中 p 所指结点之后插入一个 s 所指结点时,应执行 s-next=_p-next_和 p-next=_s_的操作。已知具有n个元素的一维数组采用顺序存储结构,每个元素占k个存储单元,第一个元素的地址为LOC(a1),那么,LOC(ai)=_ LOC(a1)+(i-1)*k_。若线性表采用顺序存储结构,每个数据元素占用 3 个存储单元,第 11 个数据元素的存储地址为 130,则第 1 个数据元素的存储地址是 100 。若线性表采用顺序存储结构,线性表的最大长度为1000,每个数据元素占3个存储单元,则要分配给该线性表_3000_
6、存储单元,若第一个数据元素的存储地址是2000,则第11个元素的存储地址是_2030_。以head为头结点循环双链表为空时,应满足head-llink=head ,head-rlink=head。在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是 。=p-next;next=p-next-next;next=p;=p-next-next;在单链表中,已知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
7、=p next=s;s-next=q 用链表表示线性表的优点是()A便于随机存储 B.便于进行插入和删除操作 C.占用的存储空间较顺序表少 D.元素的物理顺序与逻辑顺序相同 下面关于线性表的叙述中,错误的是()A.线性表采用顺序存储必须占用一片连续的存储单元 B.线性表采用顺序存储便于进行插入和删除操作 C.线性表采用链式存储不必占用一片连续的存储单元 D.线性表采用链式存储便于进行插入和删除操作 线性表是具有 n 个()的有限序列 A.数据项 B.数据元素 C.表元素 D.字符 长度为 n 的线性表采用链式存储结构,访问其第 i 个元素的算法时间复杂度为()A.O(1)(n)C.O(n2)(
8、log2n)在长度为 n 的顺序表删除第 i(1in)个元素,则需要向前移动元素的次数为()A.i B.n-i C.n-i+1 在长度为 n 的顺序表中第 i(1in)个位置上插入一个元素时,为留出插入位置所需要移动元素的次数为()A.n-i B.i C.n-i-1 D.n-i+1 以下对单链表的叙述错误的是()A.单链表中的每一个结点都由存放结点值的数据域和存放直接后继结点地址信息的指针域两部分组成 B.从单链表的第 i 个结点出发,可以访问到链表中的任何一个结点 C.在单链表结构中加入头结点可以简化结点的插入和删除操作 D.单链表尾结点的指针域应置为空指针 以下记叙中正确的是()A.线性表
9、的链式存储结构优先于顺序存储结构 B.线性表的存储结构不影响其各种运算的实现 C.选择线性表的存储结构就是要保证存储其各个元素的值 D.顺序存储属于静态结构,链式存储属于动态结构 第三章 栈与队列 一、选择题 栈的特点是_B_,队列的特点是_A_。A.先进先出 B.先进后出 栈和队列的共同点时_。A.都是先进后出 B.都是先进先出 C.只允许在端点处插入和删除元素 D.没有共同点 一个栈的进栈序列是 a,b,c,d,e,则栈的不可能的输出序列是_。A.edcba B.decba C.dceab D.abcde 判定一个栈 ST(最多元素 MaxSize)为空的条件是_。top!=-1 B.ST
10、-top=-1 top!=MaxSize D.ST-top=MaxSize-1 判定一个栈 ST(最多元素 MaxSize)为栈满的条件是_。top!=-1 B.ST-top=-1 top!=MaxSize D.ST-top=MaxSize-1 循环队列用数组 A0,m-1存放其元素值,已知其头尾指针分别是 front 和 rear,则 当前队列中的元素个数是_。A.(rear-front+m)%m B.rear-front+1 C.rear-front-1 D.rear-front 在一个链队中,假设 f 和 r 分别是队头和队尾指针,则插入一个 s 结点的运算时_。A.f-next=s;f
11、=s;B.r-next=s;r=s;C.s-next=r;r=s;D.s-next=f;f=s;在一个链队中,假设 f 和 r 分别是队头和队尾指针,则删除一个结点的运算时_。A.r=f-next;B.r=r-next;C.f=f-next;D.f=r-next;若进栈序列为 a,b,c,进栈过程中允许出栈,则以下_是不可能得到的出栈序列。A.a,b,c B.b,a,c C.c,a,b D.c,b,a 一个最多能容纳 m 个元素的顺序存储的循环队列 Q,其头尾指针分别为 front 和 rear,则判定该队列为满的条件是_ A.+1)%m=B.=C.+1=D.+1)%m=一个最多能容纳 m 个
12、元素的顺序存储的循环队列 Q,其头尾指针分别为 front 和 rear,则判定该队列为空的条件是_ A.+1)%m=B.=C.+1=D.+1)%m=若进栈序列为 1,2,3,4,进栈过程中可以出栈,则以下不可能的出栈序列是()A.1,4,3,2 ,3,4,1 C.3,1,4,2 ,4,2,1 一个队列的入队序列是 1,2,3,4,则队列的输出序列是_。A.4,3,2,1 B.1,2,3,4 C.1,4,3,2 D.3,2,4,1 若用一个可容纳 6 个元素的数组来实现循环队列,且当前 rear 和 front 的值分别是 0 和 4,当执行 2 次出队和 1 次入队操作后,rear 和 fr
13、ont 的值分别为()和 0 和 2 C.2 和 5 和 5 第四章 串和数组 串是一种特殊的线形表,其特殊性体现在_ A.可以顺序存储 B.数据元素是一个字符 C.可以链接存储 D.数据元素可以是多个字符 串的两种最基本的存储方式是_顺序和链式_。两个串相等的充分必要条件是:长度相等_且_对应位置上的字符相等_。如下陈述中正确的是_。A串是一种特殊的线性表 B串的长度必须大于零 C串中元素只能是字母 D空串就是空白串 不含任何字符的串称为_空串_,其长度为_长度等于零_。设有字符串 S=“ABC123XYZ”,问该串的长度为().10 C 已知二维数组 Amn采用行序为主方式存储,每个元素占
14、 k 个存储单元,并且第一个元素的存储地址是LOC(A00),则 Aij的地址是_loc(a00)+(n*i+j)*k。二维数组有两种存储方式,第一种是以_行 为主序的存储方式,第二种是以_列_为主序的存储方式。设有二维数组 A1020,其中每个元素占 2 个字节,数组按行优先顺序存储,第一个元素的存储地址为 100,那么元素 A812的存储地址为_100+(20*8+12)*2 对于稀疏矩阵的压缩存储,通常用一个三元组表示非零元素的信息,其中包括非零元素的值、行、列 。这些信息可用一个三元组 数组表示,也称此为 三元组顺序表 。设有一个 10 阶的对称矩阵 A,采用压缩存储方式,以行序为主序
15、存储,a0,0为第一个元素,其存储地址为1,每个元素占 1 个字节,则 a8,5的地址为_。A.13 B.33 C.18 D.42 第五章 树与二叉树 采用二叉链表存储结构,具有 n 个结点的二叉树中,一共有_2n_个指针域,其中有_n-1_个指针域指向孩子结点,有_n+1_个指针域为空.一棵非空二叉树,其第 i 层上最多有_2i-1_结点。满二叉树是一棵深度为 k 且恰有_2k-1_结点的二叉树.一棵哈夫曼树有个 m 叶子结点,则其结点总数为_2m-1_.三个结点的二叉树,最多有_5_种形状。将一棵完全二叉树按层次编号,对任一编号为i的结点有:如有左孩子,则其编号为_2i_;如有右孩子,则其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 习题集 答案
限制150内