数据结构丨期末复习资料

单选题以下陈述中正确的是(     )。
答案:串是一种特殊的线性表
单选题设有两个串p和q,其中q是p的子串,q在p中首次出现的位置的算法称为(  )。
答案:匹配
单选题串是(     )。
答案:有限个字符的序列
单选题串的长度是指(     )。
答案:串中所含字符的个数
单选题在C语言中,存储字符串“ABCD”需占用(    )字节。
答案:5
单选题下面关于串的叙述中,不正确的是(     )。
答案:空串是由空格构成的串
单选题串与普通的线性表相比较,它的特殊性体现在(    )。
答案:数据元素是一个字符
单选题空串与空格串(       )。
答案:不相同
单选题两个字符串相等的条件是(    )。
答案:两串的长度相等,并且对应位置上的字符相同
单选题在实际应用中,要输入多个字符串,且长度无法预定。则应该采用(    )存储比较合适(     )。
答案:链式
单选题下列关于串的叙述中,不正确的是(   )。
答案:空串是由空格构成的串
单选题串是一种特殊的线性表,其特殊性体现在(   )。
答案:数据元素是一个字符
单选题串函数StrCmp(“abA”,”aba”)的值为(     )。
答案:-1
单选题在C语言中,存储字符串“ABCD”需要占用(     )字节。
答案:5
单选题设主串为“ABcCDABcdEFaBc”,以下模式串能与主串成功匹配的是(        )。
答案:Bcd
单选题字符串 a1=“AEIJING”,a2=“AEI”,a3=“AEFANG”,a4=“AEFI”中最大的是(    )。
答案:a1
单选题字符串〝abcd321ABCD〞的子串是(     )。
答案:〝21ABC〞
单选题数组a经初始化char a[  ]=“English”;a[1]中存放的是(    )。 
答案:字符n
单选题空串的长度为(   )。
答案:0
单选题数据结构中,与所使用的计算机无关的是数据的(   )。
答案:逻辑结构
单选题组成数据的基本单位是(   )。
答案:数据元素
单选题研究数据结构就是研究(   )。
答案:数据的逻辑结构和存储结构以及其数据在运算上的实现
单选题在数据结构中,从逻辑上可以把数据结构分成(   )。
答案:线性结构和非线性结构
单选题数据结构是一门研究计算机中(   )对象及其关系的科学。
答案:非数值运算
单选题下列说法不正确的是(   )。
答案:数据项可由若干个数据元素构成
单选题设有如下遗产继承规则:丈夫和妻子可以互相继承遗产,子女可以继承父亲和母亲的遗产,子女间不能相互继承,则表示该遗产继承关系最合适的数据结构应该是(   )结构。
答案:图状
单选题算法的时间复杂度与(    )有关。
答案:算法本身
单选题算法分析的两个主要方面是(   )。
答案:时间复杂性和空间复杂性
单选题数据的存储结构包括数据元素的表示和(   )。
答案:数据元素间关系的表示
判断题数据元素是数据的最小单位(   )。
答案:错
判断题数据的逻辑结构是指数据的各数据项之间的逻辑关系(  )。
答案:错
判断题算法的优劣与算法描述语言无关,但与所用计算机有关(   )。
答案:错
判断题算法是在数据结构的基础上对特定问题求解步骤的一种描述,也是若干条指令组成的优先序列()。
答案:对
判断题算法可以用不同的语言描述,如果用C语言等高级语言来描述,则算法实际上就是程序了(  )。
答案:错
判断题程序一定是算法(  )。
答案:错
判断题数据的物理结构是指数据在计算机内的实际存储形式(  )。
答案:对
判断题数据结构中评价算法的两个重要指标是时间复杂度和空间复杂度(  )。
答案:对
判断题在顺序存储结构中,有时也存储数据结构中元素之间的关系(  )。
答案:错
单选题线性表的顺序存储比链式存储最与利于进行(   )操作。
答案:表尾插入或删除
单选题链表不具备的特点是(   )。
答案:可随机访问任一结点
单选题向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动(   )个元素。
答案:63.5
单选题在一个长度为n的顺序存储线性表中,向第i个元素(1≤i≤n)之前插入一个新元素时,需要依次后移(  )个元素。
答案:n-i+1
单选题在一个长度为n的顺序存储线性表中,删除第i个元素(1≤i≤n),需要前移(  )个元素。
答案:n-i
单选题一个顺序存储线性表的第一个元素的存储地址是90,每个元素的长度是2,则第6个元素的存储地址是(   )。
答案:100
单选题用链表表示线性表的优点是(   )。
答案:便于插入和删除
单选题带头结点的链表为空的判断条件是(     )(设头指针为head)。
答案:head->next==NULL
单选题非空的单向循环链表的尾结点满足(    )(设头指针为head,指针p指向尾结点)。
答案:p->next==head
单选题在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句(   )。
答案:p->next=q->next
单选题线性表在链式存储中各结点之间的地址(   )。
答案:连续与否无所谓
单选题有关线性表的正确说法是(   )。
答案:除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继
单选题若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用(   )存储方式最省时间。
答案:顺序表
单选题在单链表中,若*p不是尾结点,在其后插入*s结点的操作是(   )。
答案:s->next=p->next;p->next=s;
单选题在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。则原顺序表的长度为(   )。
答案:20
单选题对于一个具有n个结点的单向链表,在给定值为x的结点之后插入一个新结点的时间复杂度为(  )。
答案:O(n)
单选题设顺序存储的线性表长度为n,对于插入操作,设插入位置是等概率的,则插入一个元素平均移动元素的次数为(     )。
答案:n/2
单选题线性表的顺序结构中,(     )。
答案:逻辑上相邻的元素在物理位置上也相邻
单选题以下说法中不正确的是(    )。
答案:已知单向链表中任一结点的指针就能访问到链表中每个结点
单选题以下表中可以随机访问的是(    )。
答案:顺序表
单选题设链表中的结点是NODE类型的结构体变量,且有NODE *p;为了申请一个新结点,并由p指向该结点,可用以下语句(    )。
答案:p=(NODE*)malloc(sizeof(NODE));
单选题设head为非空的单向循环链表头指针,p指向链表的尾结点,则满足逻辑表达式(    )的值为真。
答案:p->next==head
判断题顺序存取的线性表乐意随机存取(  )。
答案:对
判断题由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活(  )。
答案:对
判断题线性表中的元素可以是各种各样的,但同一线性表中的数据元具有相同的特性,因此是属于同一数据对象(  )。
答案:对
判断题在线性表的顺序存储结构中,逻辑上相邻的两个元素但是在物理上位置并不一定是相邻的(  )。
答案:错
判断题在单链表中,任何两个元素的存储位置之间都有固定的联系,因为可以从头结点进行查找任何一个元素(  )。
答案:错
判断题线性表的链式存储结构优于顺序存储结构(  )。
答案:错
判断题在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该袁术的位置有关(  )。
答案:对
判断题在单链表中,要取得某个元素,只要知道该元素的指针机可,因此单链表是随机存取的存储结构。 (  )
答案:错
判断题顺序存储方式只能用于存储线性结构。(  )
答案:错
判断题顺序存储方式的有点是存储密度大,且插入、删除运算效率高。(  )
答案:错
单选题一个顺序栈一旦被声明,其占用空间的大小(    )。
答案:已固定
单选题链栈和顺序栈相比,有一个比较明显的缺点,即(   )。
答案:通常不会出现栈满的情况
单选题用单链表表示的链式队列的队头在链表的(   )位置。
答案:链头
单选题在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个(   )结构。
答案:队列
单选题循环队列A[m] 存放其元素,用front和rear分别表示队头及队尾,则循环队列满的条件是(  )。
答案:(rear+1)%m=front
单选题在一个栈顶指针为top的链栈中,将一个p指针所指的结点入栈,应执行(   )。
答案:p->next=top; top=p;
单选题在一个栈顶指针为top的链栈中删除一个结点时,用 x保存被删结点的值,则执行(   )。
答案:x=top->data; top=top->next;
单选题在一个链队中,设front和rear分别为队首和队尾指针,则插入p所指结点时,应执行(   )。
答案:rear->next=p;rear=p;
单选题在链队列中,f和r分别为队头和队尾指针,要把s所指结点入队,应执行(   )。
答案:r->next=s;r=s; 
单选题设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为(    )。
答案:x=top->data;
单选题一个队列的入队序列是2,4,6,8,则队列的输出序列是(    )。
答案:2,4,6,8
单选题一个栈的进栈序列是5,6,7,8,则栈的不可能的出栈序列是(    )。(进出栈操作可以交替进行)
答案:5,8,6,7
单选题栈的插入删除操作在(    )进行。
答案:栈顶
单选题栈和队列的相同点是(    )。
答案:逻辑结构与线性表相同,都是操作规则受到限制的线性表
单选题以下说法正确的是(    )。
答案:栈的特点是先进后出,队列的特点是先进先出
单选题设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针。设p指向要入队的新结点(该结点已被赋值),则入队操作为(    )。
答案:rear->next=p;rear=p;
单选题设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针,要执行出队操作,用x保存出队元素的值,p为指向结点类型的指针,可执行如下操作:p=front->next;x=p->data;然后指行(    )。
答案:front->next=p->next;
单选题以下说法不正确的是(      )。
答案:顺序队列中,当尾指针已经超越队列存储空间的上界,则一定是队列已满
单选题一个递归算法必须包括(   )。
答案:终止条件和递归部分
单选题假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为(   )。
答案:front=rear
单选题向顺序栈中压入新元素时,应当(   )。
答案:应当先移动栈顶指针,再存入元素
单选题判断一个循环队列Q(最多元素为m)为满的条件是(   )。
答案:Q->front==(Q->rear+1)%m
单选题判断栈满(元素个数最多n个)的条件是(    )。
答案:top=-1
单选题队列的删除操作是在(    )。
答案:队前
单选题一个队列的入队序列是a,b,c,d,按该队列的可能输出序列使各元素依次入栈,该栈的可能输出序列是 (    )。(进栈出栈可以交替进行)。
答案:d,c,b,a
单选题一维数组A采用顺序存储结构,每个元素占用4个字节,第8个元素的存储地址为120,则该数组的首地址是(     )。
答案:92
单选题稀疏矩阵采用压缩存储的目的主要是(  )。
答案:减少不必要的存储空间的开销
单选题一个非空广义表的表头(     )。
答案:可以是子表或原子
单选题常对数组进行的两种基本操作是(     )。
答案:查找和修改
单选题在二维数组A[8][10]中,每一个数组元素A[i][j] 占用3个存储空间,所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储空间是(      )。
答案:240
单选题设有一个18阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素A10,8在一维数组B中的下标是(    )。
答案:53
单选题广义表((a))的表尾是(   )。
答案:0
单选题设有一个10阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素A8,5在一维数组B中的下标是(    )。
答案:33
单选题设广义表类((a,b,c)),则L的长度和深度分别为(  )。
答案:1和2
单选题 广义表( a , a ,b , d , e ,( (i ,j ) ,k ) )的表头是________。
答案:a
单选题广义表的(a,d,e,(i,j),k)表尾是________。
答案:(d,e,(i,j),k )
单选题稀疏矩阵的压缩存储方式通常有两种,即(      )。
答案:三元组和十字链表
单选题设有一个对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),B数组共有55个元素,则矩阵是(     )阶的对称矩阵。
答案:10
单选题设有一个18阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则数组中第53号元素对应于矩阵中的元素是(   )。
答案:a10,8
单选题对稀疏矩阵进行压缩存储,可采用三元组表,一个10 行8列的稀疏矩阵A共有73个零元素,其相应的三元组表共有(       )个元素。
答案:7
单选题广义表((a))的表尾是(   )。
答案:( )
单选题广义表(a,(a,b),d,e,((i,j),k))的长度和深度分别是(   )。
答案:5,3
单选题假定一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为(     )。
答案:16
单选题已知某二叉树的后续遍历序列是dabec,中序遍历是debac,则它的先序遍历序列是(  )。
答案:cedba
单选题二叉树第k层上最多有(     )个结点。
答案:2k-1
单选题二叉树的深度为k,则二叉树最多有(     )个结点。
答案:2k-1
单选题设某一二叉树先序遍历为abdec,中序遍历为dbeac,则该二叉树后序遍历的顺序是(      )。
答案:debca
单选题设某一二叉树中序遍历为badce,后序遍历为bdeca,则该二叉树先序遍历的顺序是(    )。
答案:abcde
单选题树最适合于用来表示(   )。
答案:元素之间有包含和层次关系的数据
单选题一棵非空的二叉树,先序遍历与后续遍历正好相反,则该二叉树满足(    )。
答案:只有一个叶子结点
单选题设a,b为一棵二叉树的两个结点,在后续遍历中,a在b前的条件是(   )。
答案:a在b左方
单选题权值为{1,2,6,8}的四个结点构成的哈夫曼树的带权路径长度是(    )。
答案:29
单选题如果将给定的一组数据作为叶子数值,所构造出的二叉树的带权路径长度最小,则该树称为(  )。
答案:哈夫曼树
单选题下列有关二叉树的说法正确的是(  )。
答案:二叉树中度为0的结点的个数等于度为2的结点的个数加1
单选题二叉树是非线性数据结构,所以(  )。
答案:顺序存储结构和链式存储结构都能存储
单选题任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序(   )。
答案:不发生改变
单选题一棵有n个结点采用链式存储的二叉树中,共有(    )个指针域为空。
答案:n+1
单选题设一棵哈夫曼树共有n个非叶结点,则该树有(    )个叶结点。
答案:n+1
单选题一棵完全二叉树共有5层,且第5层上有六个结点,该树共有(   )个结点。
答案:21
单选题在一棵二叉树中,若编号为i的结点是其双亲结点的右孩子,则双亲结点的顺序编号为(     )。
答案:i/2向下取整
单选题一棵采用链式存储的二叉树中有n个指针域为空,该二叉树共有(    )个结点。
答案:n-1
单选题一棵 结点数31<n<40的完全二叉树,最后一层有4个结点,则该树有(   )个叶结点。
答案:18
单选题设一棵哈夫曼树共有2n+1个结点,则该树有(    )个非叶结点。
答案:n
单选题 在一棵具有35个结点的完全二叉树中,该树的深度为(    )。
答案:6
单选题在一棵二叉树中,若编号为i的结点存在左孩子,则左孩子结点的顺序编号为(    )。
答案: 2i
单选题 在一棵具有n个结点的二叉树的第i层上,最多具有(    )个结点。
答案: 2i-1
单选题以二叉链表作为二叉树的存储结构,在有n个结点的二叉链表中(n>0),链表中空链域的个数为(    )。
答案:n+1
单选题将含有150个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点的编号为1,则编号为69的结点的双亲结点的编号为(   )。
答案:34
单选题有n个叶子结点的哈夫曼树的结点总数为(   )。
答案:2n-1
单选题下面关于二叉树的结论正确的是(  )。
答案:二叉树中,度为0的结点个数等于度为2的结点个数加1
单选题在一个图G中,所有顶点的度数之和等于所有边数之和的(     )倍。
答案:2
单选题邻接表是图的一种(      )。
答案:链式存储结构
单选题如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是(    )。
答案:连通图
单选题下列有关图遍历的说法不正确的是(      )。
答案:非连通图不能用深度优先搜索法
单选题无向图的邻接矩阵是一个(      )。
答案:对称矩阵
单选题图的深度优先遍历算法类似于二叉树的(    )遍历。
答案:先序
单选题已知下图所示的一个图,若从顶点V1出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:V1V2V4V8V5V3V6V7
单选题已知如图2所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:abcefd
单选题已知如图3所示的一个图,若从顶点a出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:aedfcb
单选题一个具有n个顶点的无向完全图包含(   )条边。
答案:n(n-1)/2
单选题已知如图4所示的一个图,若从顶点a出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:aedfcb
单选题已知如图5所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:abcefd
单选题已知如图6所示的一个图,若从顶点V1出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:V1V2V4V8V5V3V6V7
单选题已知如图7所示的一个图,若从顶点V1出发,按深广优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:V1V2V3V4V5V6V7V8
单选题采用邻接表存储的图的广度优先搜索遍历算法类似于二叉树的(   )。
答案:层次遍历
单选题下面结论中不正确的是(   )。
答案:一个图按广度优先搜索法遍历的结果是唯一的
单选题下面说法不正确的是(   )。
答案:图的深度遍历不适用于有向图
单选题任何一棵无向连通图的最小生成树(    )。
答案:有一棵或多棵
单选题在一个具有n个顶点的无向图中,要连通全部顶点至少需要(    )边。
答案:n-1
单选题采用邻接表存储的图的深度优先搜索遍历算法类似于二叉树的(    )。
答案:先序遍历
单选题线性表只有以(    )方式存储,才能进行折半查找。
答案:顺序
单选题有序表为{2,4,10,13,33,42,46,64,76,79,85,95,120},用折半查找值为85的结点时,经(   )次比较后成功查到。
答案:4
单选题采用顺序查找法对长度为n(n为偶数)的线性表进行查找,采用从前向后的方向查找。在等概率条件下成功查找到前n/2个元素的平均查找长度为(   )。
答案: (n+2)/4
单选题对二叉排序树进行(   )遍历,可以使遍历所得到的序列是有序序列。
答案:中序
单选题以下说法正确的是(   )。
答案:二叉排序树中任一棵子树都是二叉排序树。
单选题对线性表进行二分查找时,要求线性表必需(   )。
答案:以顺序方式存储,且结点按关键字有序排列
单选题使用折半查找法时,要求查找表中各元素的键值必须是(   )排列的。
答案:递增或递减
单选题已知一个有序表为{11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较(   )次。
答案:5
单选题有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为(    )。
答案:29/10
单选题采用分块查找时,若线性表中共有324个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块,每块应分(  )个结点最佳。
答案:18
单选题如果要求一个线性表既能较快地查找,又能动态适应变化要求,可以采用(    )查找方法。
答案:分块
单选题关于哈希查找的说法正确的是(   )。
答案:哈希函数的好坏要根据具体情况而定
单选题采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为(  )。
答案:(n+1)/2
单选题采用分块查找时,数据的组织方式为(   )。
答案:把数据分城若干块,块内数据不必有序,但块间必需有序,每块内最大(或最小)的数据组成索引表
单选题假设在有序线性表A[1..20]上进行折半查找,则比较五次查找成功的结点数为(  )。
答案:5
单选题设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用()排序法。
答案:堆排序
单选题对数据元素序列(49,72,68,13,38,50,97,27)进行排序,前三趟排序结果时的结果依次为第一趟:49,72,68,13,38,50,97,27;第二趟:49,68,72,13,38,50,97,27;第三趟:13,49,68,72,38,50,97,27。该排序采用的方法是(   )。
答案:插入排序法
单选题一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序(堆顶元素是最小元素)的方法建立的初始化堆为(    )。
答案:39,41,46,80,47,57
单选题一组记录的关键字序列为(37,70,47,29,31,85),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为(    )。
答案:31,29,37,47,77,85
单选题下述几种排序方法中,要求内存量最大的是(    )。
答案:归并排序
单选题若待排序序列在排序前已按关键字递增排列,则采用(    )方法比较次数最多。
答案:直接插入排序
单选题将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是(    )。
答案:n
单选题就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是( )。
答案:堆排序< 快速排序< 归并排序
单选题一组记录的关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为(    )。
答案:(15,25,35,50,20,40,80,85,36,70)
单选题对n个元素进行冒泡排序,通常要进行n-1趟冒泡,在第j趟冒泡中共要进行(     )次元素间的比较。
答案:n-j
单选题排序方法中,从未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较(要求比较次数尽量少),然后将其放入已排序序列的正确位置的方法,是(     )排序。
答案:折半插入
单选题用某种排序方法对线性表(25,84,21,47,15,27,68,35,20)进行排序时,元素序列的变化情况如下: (1)25,84,21,47,15,27,68,35,20 (2)20,15,21,25,47,27,68,35,84 (3)15,20,21,25,35,27,47,68,84 (4)15,20,21,25,27,35,47,68,84 则采用的排序方法是(    )。
答案:快速排序
单选题一组记录的关键字序列为(36,69,46,28,30,84),利用快速排序,以第一个关键字为分割元素,经一次划分后结果为(   )。
答案:30,28,36,46,69,74
单选题设已有m个元素有序,在未排好序的序列中挑选第m+1个元素,并且只经过一次元素间的交换,就使第m+1个元素排序到位,该方法是(   )。
答案:简单选择排序
单选题一组记录的关键字序列为(46,79,56,38,40,45),利用堆排序(堆顶元素是最小元素)的方法建立的初始堆为(   )。
答案:38, 40, 45, 79, 46, 56
单选题已知10个数据元素为(54,28,16,34,73,62,95,60,26,43),对该数列从小到大排序,经过一趟冒泡排序后的序列为(   )。
答案:28,16,34,54,62,73,60,26,43,95
单选题对具有n个元素的任意序列采用插入排序法进行排序,排序趟数为(  )。
答案:n-1
判断题数据元素可以有一个或多个数据项组成。 
答案:对
判断题数据元素之间的抽象关系称为物理结构。
答案:错
判断题数据的逻辑结构在计算机中的表示称为逻辑结构。
答案:错
判断题数据的逻辑结构是与存储该结构的计算机相关的。
答案:错
判断题数据结构中,元素之间存在多对多的关系称为树状结构。
答案:错
判断题通常可以把一本含有不同章节的书的目录结构抽象成线性结构。
答案:错
判断题通常可以把某城市中各公交站点间的线路图抽象成树型结构。
答案:错
判断题    设有一个不带头结点的单向循环链表,结点的指针域为next,指针p指向尾结点,现要使p指向第一个结点,可用语句p=p->next;。
答案:对
判断题    设有一个单向链表,结点的指针域为next,头指针为head,p指向尾结点,为了使该单向链表改为单向循环链表,可用语句p->next=head 。
答案:对
判断题   设有一个单向循环链表,结点的指针域为next,头指针为head,指针p指向表中某结点,若逻辑表达式p->next==head;的结果为真,则p所指结点为尾结点。
答案:对
判断题    要在一个单向链表中p所指向的结点之后插入一个s所指向的新结点,若链表中结点的指针域为next,可执行 p->next=s;  s->next= p->next;的操作。
答案:错
判断题    要在一个单向链表中删除p所指向的结点,已知q指向p所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行q->next= p->next;
答案:对
判断题    要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,则可执行head=head-> next; p->next=head;。
答案:对
判断题    设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作p->next=head;。
答案:对
单选题选项1
答案:p->data
单选题选项2
答案:p=p->next
单选题选项3
答案:p!=NULL
单选题选项1
答案:q->next!=NULL
单选题选项2
答案: p=p->next
单选题选项3
答案:q->next=s
单选题把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为(   )。
答案:物理结构
单选题下列说法中,不正确的是(   )。
答案:数据项可由若干个数据元素构成
单选题一个存储结点存储一个(   )。
答案:数据元素
单选题在线性表的顺序结构中,以下说法正确的是(       )。
答案:逻辑上相邻的元素在物理位置上也相邻
单选题对链表, 以下叙述中正确的是(     )。
答案:不能随机访问任一结点     
单选题下列的叙述中,不属于算法特性的是(      )。
答案:可读性
单选题算法的时间复杂度与(   )有关。
答案:算法本身
单选题设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为(   )。
答案:n-i+1
单选题设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为(   )。
答案:n-i
单选题在一个单链表中p所指结点之后插入一个s所指的结点时,可执行(   )。
答案:s->next=p->next; p->next=s;
单选题非空的单向循环链表的尾结点满足(   )(设头指针为head,指针p指向尾结点)。
答案:p->next==head
单选题链表不具有的特点是(   )。
答案:可随机访问任一元素
单选题带头结点的链表为空的判断条件是(   )(设头指针为head)。
答案:head->next==NULL
单选题向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动(   )个元素。
答案:63.5
单选题一个顺序表第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的地址是(   )。
答案:100
单选题    在一个不带头结点的单循环链表中,p、q分别指向表中第一个结点和尾结点,现要删除第一个结点,且p、q仍然分别指向新表中第一个结点和尾结点。可用的语句是p=p->next;和(     )。
答案:q->next=p
判断题    设有一个链栈,栈顶指针为hs,现有一个s所指向的结点要入栈,则可执行操作。hs=s; s-> next=hs;
答案:错
判断题    设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈 结点的指针域为next,则可执行hs=hs->next ;x=hs->data;
答案:错
判断题    有一个链栈,栈顶指针为h,现有一个p所指向的结点要入栈,则可执行操作p->next=h;  和h=p;
答案:对
判断题    设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,数据域为data,则可执行hs= hs->next; x= hs->data;
答案:错
判断题    在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,则插入所指结点的操作为r->next=s;r=s;
答案:对
判断题    在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,s指向一个要入 队的结点,则入队操作为r=s;r->next=s;
答案:错
判断题    在一个不带头结点的非空链队中,f和r分别为队头和队尾指针,队结点的数据域为data,指针域为next,若要进行出队操作,并用变量x存放出队元素的数据值,则相关操作为x=f->data; f=f->next;
答案:对
判断题对稀疏矩阵进行压缩存储,可采用三元组表,一个6行7列的稀疏矩阵A相应的三元组表共有8个元素,则矩阵A共有34个零元素。
答案:对
判断题    循环队列的最大存储空间为MaxSize,队头指针为f,队尾指针为r,当(r+1)%MaxSize=f 时表明队列已满。
答案:对
判断题循环队列的队头指针为f,队尾指针为r,当r= =f时表明队列已满。
答案:错
判断题空串的长度是0;空格串的长度是空格字符的个数。
答案:对
判断题    对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的行下标、列下标、和非零元素值三项信息。
答案:对
判断题循环队列的引入,目的是为了克服假上溢。
答案:对
判断题  设有n阶对称矩阵A,用一维数组s压缩存储A的下三角元素,s的下标从零开始,元素 s[26]相应于A中的元素为a 7,5。
答案:错
判断题    循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,当队尾指针rear=3时队满。
答案:对
判断题    循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,队尾指针rear=3时,队列中共有5个元素。
答案:对
单选题选项1
答案:sizeof (struct node)
单选题选项2
答案:p->next=top
单选题选项3
答案:top=p  
单选题选项1
答案:(sizeof (struct node)
单选题选项2
答案:rear->next=p
单选题选项3
答案:p
单选题若让元素1,2,3依次进栈,则出栈顺序不可能为(   )。
答案:3,1,2
单选题一个队列的入队序列是1,2,3,4。则队列的输出序列是(   )。
答案:1,2,3,4
单选题向顺序栈中压入新元素时,应当(   )。
答案:先移动栈顶指针,再存入元素
单选题在一个栈顶指针为top的链栈中,将一个p指针所指的结点入栈,应执行(   )。
答案:p->next=top;top=p;
单选题在一个栈顶指针为top的链栈中删除一个结点时,用 x保存被删结点的值,则执行(   )。
答案:x=top->data;top=top->next;
单选题判断一个顺序队列(最多元素为m)为空的条件是(   )。
答案:front==rear
单选题判断一个循环队列为满的条件是(   )。
答案:(rear+1)%MaxSize==front
单选题判断栈满(元素个数最多n个)的条件是(   )。
答案:top==n-1
单选题设有一个20阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始), 则矩阵元素a6,2在一维数组B中的下标是(   )。
答案:17
单选题在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为(   )。
答案:f=f->next;
单选题在一个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为(   )。
答案:r->next=s;r=s;
单选题数组a经初始化char a[ ]=“English”;a[7]中存放的是(   )。
答案:字符串的结束符
单选题设主串为“ABcCDABcdEFaBc”,以下模式串能与主串成功匹配的是(   )。
答案:Bcd
单选题字符串 a1=”AEIJING”,a2=”AEI”,a3=”AEFANG”,a4=”AEFI”中最大的是(   )。
答案:a1
单选题两个字符串相等的条件是(   )。
答案:两串的长度相等,并且对应位置上的字符相同
单选题一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的存储地址为100,则该数组的首地址是(   )。
答案:70
单选题一个非空广义表的表头(   )。
答案:可以是子表或原子 
单选题对稀疏矩阵进行压缩存储,可采用三元组表,一个10 行8列的稀疏矩阵A,其相应的三元组表共有6个元素,矩阵A共有(   )个零元素。
答案:74
单选题对稀疏矩阵进行压缩存储,可采用三元组表,一个10 行8列的稀疏矩阵A共有73个零元素,A的右下角元素为6,其相应的三元组表中的第7个元素是(   )。
答案:(10,8,6)
单选题对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,并给该 结点赋值a,则执行: p=(struct node *)malloc(sizeof(struct node);p->data=a;和(   )。
答案:p->next=top;top=p;
单选题头指针为head的带头结点的单向链表为空的判定条件是(   )为真。
答案:head->next==NULL
单选题设有一个对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),B数组共有55个元素,则该矩阵是(   )阶的对称矩阵。
答案:10
单选题数组a经初始化char a[ ]=“English”;a[1]中存放的是(   )。
答案:字符n
单选题假定一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为(   )。
答案:16
单选题二叉树第k层上最多有(   )个结点。
答案:2k-1
单选题设一棵采用链式存储的二叉树,除叶结点外每个结点度数都为2,该树结点中共有20个指针域为空,则该树有(      )个叶结点。    
答案:10
单选题如果将给定的一组数据作为叶子数值,所构造出的二叉树的带权路径长度最小,则该树称为(   )。
答案:哈夫曼树
单选题已知如下图所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。   
答案:aecbdf
单选题在一棵度具有5层的满二叉树中结点总数为(   )。
答案:31
单选题一棵完全二叉树共有6层,且第6层上有6个结点,该树共有(   )个结点。
答案:37
单选题利用3、6、8、12这四个值作为叶子结点的权,生成一棵哈夫曼树,该树中所有叶子结点中的最长带权路径长度为(   )。
答案:18
单选题在一棵树中,(   )没有前驱结点。
答案:树根结点
单选题图状结构中数据元素的位置之间存在(       )的关系。
答案:多对多
单选题在一个图G中,所有顶点的度数之和等于所有边数之和的(   )倍。
答案:2
单选题邻接表是图的一种(   )。
答案:链式存储结构
单选题在一棵二叉树中,若编号为i的结点存在右孩子,则右孩子的顺序编号为(    )。
答案:2i+1
单选题图的深度优先遍历算法类似于二叉树的(   )遍历。
答案:先序
单选题已知下图所示的一个图,若从顶点V1出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为(   )。
答案:V1V2V4V8V5V3V6V7
判断题一棵二叉树的叶结点(终端结点)数为5,单分支结点数为2,该树共有11个结点。
答案:对
判断题一棵有14个结点的完全二叉树,则它的最高层上有7个结点。
答案:对
判断题一棵二叉树有6个叶结点,则该树总共有11个结点。
答案:错
判断题根据搜索方法的不同,图的遍历有.先序;中序;后序三种方法。
答案:错
判断题对于一棵具有n个结点的二叉树,其相应的链式存储结构中共有n-1个指针域空。
答案:错
判断题    设一棵完全二叉树,其最高层上最右边的叶结点的编号为奇数,该叶结点的双亲结点的编号为10,该完全二叉树一共有21个结点。
答案:对
判断题    设一棵完全二叉树,其最高层上最右边的叶结点的编号为偶数,该叶结点的双亲结点的编号为9,该完全二叉树一共有19个结点。
答案:错
判断题按照二叉树的递归定义,对二叉树遍历的常用算法有深度优先遍历和深度优先遍两种方法。
答案:错
判断题一棵有8个权重值构造的哈夫曼数,共有17个结点。
答案:错
判断题一棵有7个叶结点的二叉树,其1度结点数的个数为2,则该树共有15个结点。
答案:对
单选题选项1
答案:Inorder(BT-> right )
单选题选项2
答案:printf(“%c”,BT->data)
单选题选项3
答案:d,e,b,f,c,a
单选题选项1
答案:printf(“%c”,BT->data)
单选题选项2
答案:Inorder(BT->right)
单选题选项3
答案:d,b,e,a,f,c
单选题一棵具有16个结点的完全二叉树,共有(     )层。(设根结点在第一层)
答案:5
单选题对二叉排序树进行(      )遍历,可以使遍历所得到的序列是有序序列。
答案:中序
单选题已知一个图的边数为m,则该图的所有顶点的度数之和为(     )。
答案:2m
单选题__1__
答案:B
单选题__2__
答案:C
单选题__1__
答案:D
单选题__2__
答案:A
单选题__2__
答案:D
单选题对线性表进行二分查找时,要求线性表必须(   )。
答案:以顺序存储方式,且数据元素有序
单选题采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为(   )。
答案:(n+1)/2
单选题有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为(   )。
答案:29/10
单选题有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,应该选择的序列是(   )。
答案:37,24,12,30,53,45,96
单选题 对于顺序存储的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数是(   )。
答案:4
单选题在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是(   )。
答案:直接选择排序
单选题从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。将其放入已排序序列的正确的位置上,此方法称为(   )。
答案:插入排序
单选题依次将每两个相邻的有序表合并成一个有序表的排序方法称为(   )。
答案:归并排序
单选题当两个元素出现逆序的时候就交换位置,这种排序方法称为(   )。
答案:交换排序
单选题每次把待排序的区间划分为左、右两个子区间,其中左区间中记录的关键字均小于等于基准记录的关键字,右区间中记录的关键字均大于等于基准记录的关键字,这种排序称为(   )。
答案:快速排序
单选题一组记录的关键字序列为(80,57,41,39,46,47),利用堆排序(堆顶元素是最小元素)的方法建立的初始堆为(      )。
答案:39,46,41,57,80,47
单选题 一组记录的关键字序列为(46,20,30,79,56,38,40,84,90,110),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为(  )。
答案:40,20,30,38,46,56,79,84,90,110
单选题在有序表{10,14,34,43,47,64,75,80,90}中,用折半查找法查找值80时,经(     )次比较后查找成功。
答案:3
单选题对序列(49,38,65,97,76,13,47,50)采用直接插入排序法进行排序,要把第七个元素47插入到已排序中,为寻找插入的合适位置需要进行(   )次元素间的比较。
答案:5
单选题排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始为空)的一端的方法,称为(   )排序。
答案:选择
单选题一组记录的关键字序列为(26,59,36,18,20,25),利用堆排序的方法建立的初始小根堆为(   )。
答案:18,20,25,59,26,36
单选题一组记录的关键字序列为(25,48,16,35,79,82,23,40,36,72),其中,含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为(   )。
答案:16,25,35,48,23,40,79,82,36,72
单选题一组记录的关键字序列为(46,79,56,38,40,84),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为(   )。
答案:40,38,46,56,79,84
单选题选项1
答案:NULL
单选题选项2
答案:k
单选题选项3
答案:p=p->left
单选题选项4
答案:p=p->right  
单选题选项5
答案:p
单选题选项1
答案:n
单选题选项2
答案:(s+j)/2
单选题选项3
答案: j=m-1
单选题选项4
答案:s=m+1
单选题选项5
答案: a[k+1]
单选题__1__
答案:C
单选题__2__
答案:B
单选题栈和队列的共同特点是(    )。
答案:都是先进后出
单选题数据的存储结构包括数据元素的表示和(    )。
答案:数据元素间的关系的表示
单选题对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,则执行:p=(struct node *)malloc(sizeof(struct node);p->data=a;和(    )。
答案:p->next=top; top=p;
单选题树状结构中数据元素的位置之间存在(    )的关系。
答案:一对多
单选题设头指针为head的非空的单向链表,指针p指向尾结点,则通过以下操作(    )可使其成为单向循环链表。
答案:p->next=head;
单选题设有一个长度为26的顺序表,要插入一个元素,并使它成为新表的第6个元素,需移动元素的个数为(    )。
答案:21
单选题一种逻辑结构(    )。
答案:可以有不同的存储结构
单选题头指针为head的带头结点的单向循环链表,p所指向尾结点,要使该链表成为不带头结点的单向循环链表,可执行head=head->nex;和(    )。
答案:p->next=head;
单选题把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为(    )。
答案:存储结构
单选题元素111,113,115,117按顺序依次进栈,则该栈的不可能输出序列是(    )(进栈出栈可以交替进行)。
答案:117,115,111,113
单选题图状结构中数据元素的位置之间存在(    )的关系。
答案:多对多
单选题以下说法正确的是(    )。
答案:栈的特点是先进后出
单选题一个单链表中,在p所指结点之后插入一个s所指的结点时,可执行:s->next=p->next;和(    )。
答案:p->next=s;
单选题设有一个20阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵元素a6,2在一维数组B中的下标是(    )。
答案:17
单选题元素12,14,16,18顺序依次进栈,则该栈的不可能输出序列是(    )。(进栈出栈可以交替进行)。
答案:18,16,12,14
单选题设有串p1=”ABADF”,P2=”ABAFD”,P3=”ABADFA”,P4=”ABAF”,以下四个串中最大的是(    )。
答案:p2
单选题设有一个30阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a9,2在一维数组B中的下标是(    )。
答案:38
单选题数组a经初始化char a[  ]=“English”;a[7]中存放的是(    )。
答案:字符串的结束符
单选题设有一个长度为32的顺序表,要删除第8个元素需移动元素的个数为(    )。
答案:24
单选题设主串为“ABcCDABcdEFaBc”,以下模式串能与主串成功匹配的是(    )。
答案:Bcd
单选题在一棵二叉树中,若编号为i的结点存在右孩子,则右孩子的顺序编号为(    )。
答案:2i+1
单选题在一棵二叉树中,若编号为i的结点存在左孩子,则左孩子的顺序编号为(    )。
答案:2i
单选题一棵具有16个结点的完全二叉树,共有(    )层。(设根结点在第一层)
答案:5
单选题如下图所示,若从顶点a出发,按图的广度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:aecbdf
单选题如下图所示,若从顶点a出发,按图的深度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:aedfcgb
单选题线性表以(    )方式存储,能进行折半查找。
答案:关键字有序的顺序
单选题字符串“DABcdabcd321ABC”的子串是(    )。
答案:“cd32”
单选题一棵具有38个结点的完全二叉树,最后一层有(    )个结点。
答案:7
单选题如下图所示,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:abcdfge
单选题下图的拓扑序列是(    )。
答案:5 6 2 3 4
单选题下面关于线性表的叙述错误的是(    )。
答案:线性表采用顺序存储便于插入和删除操作的实现
单选题设有头指针为head的不带头结点的非空的单向循环链表,指针p指向其尾结点,要删除第一个结点,则可利用下述语句 head=head->next;和(    )。
答案:p->next =head;
单选题以下数据结构中是非线性结构的是(    )。
答案:二叉树
单选题以下说法正确的是(    )。
答案:一种逻辑结构可以有不同的存储结构
单选题设有一个长度为18的顺序表,要删除第7个元素需移动元素的个数为(    )。
答案:11
单选题把数据存储到计算机中,并具体体现(    )称为物理结构。
答案:数据元素间的逻辑关系
单选题两个字符串相等的充要条件是(    )。
答案:同时具备(A)和(C)两个条件
单选题顺序表所具备的特点之一是(    )。
答案:可以随机访问任一结点
单选题设某链表中最常用的操作是在链表的尾部插入或删除元素,在已知尾指针的条件下,选用下列(    )存储方式最节省运算时间。
答案:双向链表
单选题元素13,15,19,20顺序依次进栈,则该栈的不可能输出序列是(    )。(进栈出栈可以交替进行)
答案:19,13,15,20
单选题元素20,14,16,18按顺序依次进栈,则该栈的不可能输出序列是(    )。(进栈出栈可以交替进行)
答案:18,16,20,14
单选题设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,则在表中删除结点B的操作为(    )。
答案:q->next=p->next;
单选题设有一个12阶的对称矩阵A(左上角第一个元素为a1,1),采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a5,4在一维数组B中的下标是(    )。
答案:14
单选题栈和队列的共同特点之一是(    )。
答案:只允许在端点处插入和删除元素
单选题设有一个长度为22的顺序表,要删除第8个元素需移动元素的个数为(    )。
答案:14
单选题用链接方式存储的队列,在进行插入运算时(    )。
答案:需修改尾指针
单选题在一棵二叉树中,若编号为5的结点存在右孩子,则右孩子的顺序编号为(    )。
答案:11
单选题字符串 a1=”AEIJING”,a2=”AEI”,a3=”AEFANG”,a4=”AEFI”中最大的是(    )。
答案:a1
单选题一棵具有5层的完全二叉树,最后一层有4个结点,则该树总共有(    )个结点。
答案:19
单选题设有一个20阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其      下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a6,2在一维数组B中的下标是(    )。
答案:17
单选题如下图所示,若从顶点a出发,按图的广度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:abcedfg
单选题以下说法正确的是(    )。
答案:二叉树中任意一个非叶结点的值都大于其左子树上所有结点的值,小于其右子树上所有结点的值,则该树为二叉排序树。
单选题字符串”abcd321ABCD”的子串是(    )。
答案:”21ABC”
单选题二叉树的第k层的结点数最多为(    )。
答案:2k-1
单选题数组a经初始化char a[  ]=“English”;a[1]中存放的是(    )。
答案:字符n
单选题如下图所示,若从顶点6出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:6,9,3,2,8,7,4
单选题如下图所示,若从顶点a出发,按图的深度优先搜索法进行遍历,则可能得到的一种顶点序列为(    )。
答案:aedfcb
单选题下图的拓扑序列是(    )。
答案:5 2 3 6 4
填空题对稀疏矩阵进行压缩存储,可采用三元组表,一个有10行的稀疏矩阵A共有97个零元素,其相应的三元组表共有3个元素。该矩阵A有1 列。
答案:[10]
填空题结构中的数据元素存在多对多的关系称为1 结构。
答案:[图状]
填空题在单向链表中,q指向p所指结点的直接后继结点,要删除q所指结点,可以用操作1 = q->next;。   
答案:1
答案:[p->next;]
填空题n个元素进行冒泡法排序,第j趟冒泡要进行1 次元素间的比较。
答案:[n-j]
填空题对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的行下标、列下标和1 三项信息。
答案:[数组元素]
填空题中序遍历1 树可得到一个有序序列。
答案:[二叉排序树]
填空题队列的操作特点是后进1 。
答案:[后出]
填空题待排序的序列为8,3,4,1,2,5,9,采用直接选择排序算法,当进行了两趟选择后,结果序列为1 。
答案:[1,2,4,8,3,5,9]
填空题n个元素进行冒泡法排序,通常需要进行1 趟冒泡。
答案:[n-1]
填空题广义表((a,b),d,e((i,j),k))的长度是1  。
答案:[4]
填空题中序遍历二叉排序树可得到一个1 的序列。
答案:[有序]
填空题广义表的(c,a,(a,b),d,e,((i,j),k))深度是1 。
答案:[3]
填空题广义表(c,a,(a,b),d,e,((i,j),k))的长度是1 。
答案:[6]
填空题对稀疏矩阵进行压缩存储,可采用三元组表,一个有10 行10列的稀疏矩阵A共有95个零元素,其相应的三元组表共有1 个元素。
答案:[5]
填空题在对一组记录(50,49,97,22,16,73,65,47,88)进行直接插入排序时,当把第7个记录65 插入到有序表时,为寻找插入位置需比较1 次。
答案:[3]
填空题循环队列在规定少用一个存储空间的情况下,队空的判定条件为1 。
答案:[front==rear]
填空题一棵有5个叶结点的哈夫曼树,该树中总共有1 个结点。
答案:[9]
填空题c语言中,字符串“E”存储时占1 个字节。
答案:[2]
填空题设有一棵深度为4的完全二叉树,第四层上有5个结点,该树共有1 个结点。(根所在结点为第1层)。
答案:[12]
填空题一棵二叉树中有n个非叶结点,每一个非叶结点的度数都为2,则该树共有1 个叶结点。
答案:[n+1]
填空题设有一个长度为40的顺序表,要删除第8个元素需移动元素的个数为1 。
答案:[32]
填空题在对一组记录(55,39,97,22,16,73,65,47,88)进行直接插入排序时,当把第7个记录65插入到有序表时,为寻找插入位置需比较1 次。
答案:[3]
填空题有以下程序段:   char a[  ]=“English”;   char *p=a;  int n=0;   while( *p!=‘\0’){ n++; p++;} 结果中,n的值是1 。
答案:[7]
填空题设:char a[ ]=”AEIJING”;该字符串在计算机中存储时占1 个字节。
答案:[8]
填空题栈的特点之一是:元素进、出栈的次序是:先进1 。
答案:[后出]
填空题对稀疏矩阵进行压缩存储,可采用三元组表,一个有8行的稀疏矩阵A共有92个零元素,其相应的三元组表共有4个元素。该矩阵A有1  列。
答案:[12]
填空题在对10个记录的序列(9,35,19,77,2,10,53,45,27,68)进行直接插入排序时,当把第6个记录10 插入到有序表时,为寻找插入位置,元素间需比较1 次。(按升序排序)
答案:[4]
填空题循环链队列中,设front和rear分别为队头和队尾指针,最大存储空间元素为MaxSize,采用少用一个存储空间的模式,则判断循环链队列为空的条件是1 为真。
答案:[front==rear]
填空题字符串a1=”beijing”,a2 =”bef”,a3=”beifang”,a4=”befi”最小的是1 。
答案:[a2]
填空题10个元素进行冒泡法排序,其中第5趟冒泡共需要进行1 次元素间的比较。
答案:[5]
填空题设有一棵深度为4的完全二叉树,第四层上有5个结点,该树共有1 个结点。(根所在结点为第1层)
答案:[12]
填空题1 遍历一棵二叉排序树可得到一个有序序列。
答案:[中序]
填空题中序遍历一棵1 树可得到一个有序序列。
答案:[二叉排序树]
填空题广义表(c,(a,b,c),(d,e,f),((i,j),k))的长度是1 。
答案:[4]
填空题待排序的序列为9,4,5,1,2,6,10,采用直接选择排序算法,当进行了两趟选择后,结果序列为1 。
答案:[1,2,5,9,4,6,10]
填空题广义表的(c,(b,a,b),f,e,((i,j),k))深度是1  。
答案:[3]
填空题广义表((a,b),d,e,((i,j),k))的长度是1 。
答案:[4]
填空题序列4,2,5,3,8,6,采用冒泡排序算法(升序),经一趟冒泡后,结果序列是1 。
答案:[2,4,3,5,6,8]
填空题广义表的(c,a,(a,b),d,e,((i,j),k))深度是1  。
答案:[3]
填空题线性表用1 方式存储需要占用连续的存储空间。
答案:[顺序]
填空题线性表用1 方式存储可以随机访问。
答案:[顺序]
填空题线性表用关键字1 的顺序方式存储,可以用二分法排序。
答案:[有序]
填空题顺序表6,5,1,2,4,3,8,7经过一趟(1,1)归并后的结果序列为1 。
答案:[(5,6),(1,2),(3,4),(7,8)]
填空题对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的三项信息是1 。
答案:[行下标,行下标,数组元素]
填空题以下是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域data为字符型,BT指向根结点)。 void Inorder(struct BTreeNode *BT) {   if(BT!=NULL)   1 ;   2 ;   Inorder(BT->right); } 利用上述程序对下图进行遍历,结果是3 。
答案:[Inorder(BT->left), printf(\%c\,BT->data), d b f e a c]
填空题设线性表为(16,20,26,24),以不带头结点的单向链表存储,链表头指针为head,以下程序的功能是输出链表中各结点中的数据域data。 struct node {   int data;   struct node *next; }; typedef struct node NODE; #define NULL 0 void main() {   NODE *head,*p;   p=head;    /*p为工作指针*/   do   {     printf(“%d\n”,1 );     2 ;   }while(3 ); }
答案:[p->data, p=p->next, p!=NULL]
填空题以下冒泡法程序对存放在a[1],a[2],……,a[n]中的序列进行排序,完成程序中的空格部分,其中n是元素个数,要求按升序排列。 void bsort (NODE a[ ],int n) {   NODE temp;   int i,j,flag;   for(j=1;1 ;j++)   {     flag=0;     for(i=1;2 ;i++)       if(a[i].key>a[i+1].key)       {         flag=1;         temp=a[i];         3 ;         4 ;       }     if(flag==0)break;   } } 设有序列6,4,5,8,2,1,给出由该程序经过两趟冒泡后的结果序列5 。
答案:[j<=n-1), i<=n-j), a[i]=a[i+1]), a[i+1]=temp, 4,5,2,1,6,8]
填空题以下函数为直接选择排序算法,对a[1],a[2],……,a[n]中的记录进行直接选择排序,完成程序中的空格: typedef struct {   int key;   …… }NODE; void selsort(NODE a[ ],int n) {   int i,j,k;   NODE temp;   for(i=1;i<=1 ;i++)   {     k=i;     for(j=i+1;j<=2 ;j++)       if(a[j].key<a[k].key)3 ;     if(i!=k)     {       temp=a[i];       4 ;       5 ;     }   } }
答案:[n-1, n, k=j, a[i]=a[k], a[k]=temp]
填空题设线性表为(1,3,7,5),以下程序用说明结构变量的方法建立单向链表,并输出链表中各结点中的数据。 struct node {  int data;   struct node *next; } typedef struct node NODE; #define NULL 0 void main() {   NODE a,b,c,d,*head,*p;   a.data=6;   b.data=10;   c.data=16;   c.data=4;      /*d是尾结点*/  head=1 ;   a.next=&b;   b.next=&c;   c.next=&d;   2 ;     /*以上结束建表过程*/   p=head;     /*p为工作指针,准备输出链表*/  do   {     printf(“%d\n”,3 );     4 ;   }while(p!=NULL); } 画出按该程序建立的单向链表的示意图,说明程序运行结束后p的指向。5
答案:[&a, d->next=NULL, p->data, p=p->next, P指向NULL]
填空题以下函数在a[0]到a[n-1]中,用折半查找算法查找关键字等于k的记录,查找成功返回该记录的下标,失败时返回-1,完成程序中的空格:
typedef struct {  int key;   …… }NODE; int Binary_Search(NODE a[ ],int n,int k) {   int low,mid,high;   low=0;   high=n-1;   while(1 )   {     mid=(low+high)/2;     if(a[mid].key==k)       return 2 ;     else if(3 )       low=mid+1;     else 4 ;   }   return -1; }
设数组元素:a[0]=2;a[1]=5;a[2]=3;a[3]=4;a[4]=9;a[5]=6;a[6]=1;a[7]=10;按上述程序查找元素5,能否成功查到,说明理由5 。
答案:[low<=high, mid, a[mid].key<k, high=mid-1, 不能]
填空题以下程序是后序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域data为字符型,BT指向根结点)。 void Inorder(struct BTreeNode *BT) { if(BT!=NULL) { 1 ; Inorder(BT->right); 2 ; } } 利用上述程序对下图进行遍历,结果是3 。
答案:[Inorder(BT->left), printf(\%c\,BT->data), f,d,e,b,c,a]
填空题以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别是链队列的队头、队尾指针 struct node {   ElemType data;   struct node *next; }; struct node *front,*rear; void InQueue(ElemType x) {   struct node *p;   p=(struct node*)1 ;   p->data=x;   p->next=NULL;   2 ;   rear=3 ; }
答案:[malloc(sizeof(struct node)), rear->next=p, p]
填空题设有一个头指针为head的不带头结点单向链表,p、q是指向链表中结点类型的指针变量,p指向链表中某结点a(设链表中没有结点的数据域与结点a的数据域相同),写出相关语句:(1)使该单向链表成为单向循环链表;(2)删去a结点 q=p;x=p->data; while(q->next!=NULL)q=q->next; 1 ; q=p;p=p->next; while(p->data!=x) {   q=p;   2 ; } 3 ;
答案:[q->next=head, p=p->next, q->next=p->next]