01-数据结构—判断题
02-数据结构—单选题
[多选题]
219.关于二叉树,下列说法正确的是
A.每个结点至多有两个子树。
B.二叉树的子树无左右之分。
C.树的结点包含一个数据元素和指向其子树的分支。
D.二叉树只能进行链式存储。
答案:AC
220.以下哪些项是栈元素操作的基本特点:
A.先进先出
B.先进后出
C.后进先出
D.后进后出
答案:BC
[填空题]
221.整张表格称为一个( ),其中每一行称为一个( ),任意一行中的每一个栏目称为一个( ) 请填:数据、数据元素、数据项、数据对象。
答案:数据对象|数据元素|数据项
222.顺序队列在实现的时候,通常将数组看成是一个首尾相连的循环队列,这样做的目的是为避免产生()现象。
答案:溢出
223.数组q[M](M等于6)存储一个循环队,first和last分别指向首尾指针。已知First=2,last=5。当从队列中删除一个元素,再插入两个元素后,first=( ),last=( )。
答案:3|1
224.已知一棵完全二叉树的第5层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是:( )
答案:47
225.若以{4,5,6,7,8}作为叶子结点的权值构造哈夫曼树,则其带权路径长度是( )。
答案:69
226.
答案:01|101|0010|00111|11|100|000|00110|255
227.数据的逻辑结构按数据元素之间的关系的特性分为以下四类:(1)( ),数据元素之间无关系;(2)( ),数据元素之间存在一对一的关系;(3)( ),数据元素之间存在一对多的关系;(4)( ),数据元素之间存在多对多的关系。
答案:集合|线性结构|树结构|图结构
228.设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y的新结点 , 若将结点y插入结点x之后,则需要执行以下语句:( );( );
答案:py->next=px->next|px->next=py
229.为了解决队列的假溢出现象,应采用( )队列。
答案:循环
230.给定一组数据{6,2,7,10,3,12}以它构造一棵哈夫曼树,则树高为( ),带权路径长度WPL的值为( )。
答案:5|96
231.
答案:1010|00|10000|1001|11|10001|01|1011|261
232.基本术语( )是数据的基本单位,( )是数据的不可分割最小单位。其中:前者在计算机中通常作为一个整体进行考虑和处理,它可以由一个或多个后者组成。
答案:数据元素|数据项
233.( )是指相互间存在一种或多种特定关系的数据元素的集合。
答案:数据结构
234.
答案:数据元素|关系
235.( )是指数据元素之间的关系。
答案:结构
236.在有n个元素的顺序表中的任意位置插入一个元素所需移动元素的平均次数为( )。
答案:n/2
237.在有n个元素的顺序表中删除任意一个元素所需移动元素的平均次数为( )。
答案:(n-1)/2
238.在长度为n的顺序表L中将所有值为x的元素替换成y,该算法的时间复杂度为( )。
答案:O(n)
239.在长度为n的循环单链表L中查找值最大的结点,其时间复杂度为( )。
答案:O(n)
240.对于一个具有n(n≥1)个结点的单链表,插入一个尾结点的时间复杂度是( )。
答案:O(n)
241.
答案:p->data=x|ls=p
242.设栈S和队列Q的初始状态均为空,元素{1, 2, 3, 4, 5, 6, 7}依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是{2, 6, 5, 4, 7, 3, 1},则栈S的容量至少是:( )个元素空间。
答案:5
243.设栈S和队列Q的初始状态都为空,元素a,b,c,d,e,f依次通过栈S,一个元素出栈后即进入队列,若6个元素出队序列是bedfca,则栈S的容量至少应有能够存放( )个元素的空间。
答案:4
108.
答案:
260.
答案:
261.
答案:
201.
答案:
[程序填空题]
262.将程序填写完整,实现栈的初始化、入栈、出栈等基本操作。注意每一个空格只需要填一行代码。
263.链表的基础操作:
264.实现队列的出队、入队运算。注意每一个空格只需要填一行代码。
265.图的DFS(邻接表),请完成填空:
266.初始化二叉树,如下,请完成二叉树的层序遍历代码,层序遍历的节点打印序列 = [1, 2, 3, 4, 5, 6, 7]: