在一个图G中,所有顶点的度数之和等于所有边数之和的( )倍。
A.1/2
B.1
C.2
D.4
答案是:C
以2,3,4,7,8,9作为叶结点的权,构造一棵哈夫曼树。权重值为4的叶结点的哈夫曼编码为( )
A. 000 B. 001 C.010 D.10
答案是:B. 001
以3,4,5,8,9,作为叶结点的权,构造一棵哈夫曼树。该树的带权路径长度为( )
A. 61 B. 62 C.63 D.65
答案是:D.65
由如图所示的二叉树,回答以下问题:(6.4)
(1)其中序遍历序列( );
(2)其前序遍历序列( );
(3)其后序遍历序列( );
A. gdbeihfca B. gbaechif C. abdgcefhi
答案是:(1)B
(2)C
(3)A
A. gdbeihfca B. gbaechif C. abdgcefhi
有一棵树如图所示,回答下面问题:
(1)这棵树的根结点是( );
(2)这棵树的叶子结点是( );
(3)这棵树的度是( );
(4)这棵树的深度是( );
(5)c结点的孩子结点是( );
(6)c结点的父母结点是
答案是:(1)C
(2)E
(3)A
(4)B
(5)D
(6)C
哈夫曼树一定是完全二叉树或满二叉树
答案是:×
哈夫曼树只存在着双支结点,不存在单支结点。
答案是:对
二叉树的遍历就是按照一定次序访问树中所有结点,并且每个结点的值仅被访问一次的过程。
答案是:对
已知一棵树的先序序列和后序序列,一定能构造出该树。
答案是:×
二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前面。
答案是:对
具有n个结点的二叉树,采用二叉链表存储,共有n+1个空链域
答案是:对
二叉树只能采用二叉链表来存储
答案是:×
在二叉树的链接存储中,每个结点设置三个域:值域、左指针域和右指针域。
答案是:对
具有100个结点的完全二叉树有50 个叶子。
答案是:对
具有256个结点的完全二叉树的深度为9 。
答案是:对
深度为5的二叉树最多有3层。
答案是:×
具有三个结点的二叉树有五种。
答案是:对
若树的度为2时,该数为二叉树。
答案是:×
完全二叉树中没有度为1的结点
答案是:×
深度为k的完全二叉树至少有2k-1个结点。
答案是:×
森林是m(m≥0)棵互不相交的树的集合。
答案是:对
树中全部结点的度均大于0。
答案是:×
如果结点A有 3个兄弟,而且B是A的双亲,则B的度是4。
答案是:对
树最适合表示元素之间具有层次关系的数据。
答案是:对
树是一种线性结构。
答案是:×
设哈夫曼树的叶结点数为n,则它的结点总数为( )。
A.2n-1 B.2n C.2n+1 D.不确定
答案是:A
用权值分别为15,2,4,5的四个结点,构造出的哈夫曼树为( D )。
答案是:D
哈夫曼树是( )。
A.满二叉树 B.二叉排序树
C.树的路径长度最短的二叉树 D.带权路径长度最短的二叉树
答案是:D
利用2、4、5、10这四个值作为叶子结点的权,生成一棵哈夫曼树,该树中所有叶子的最长带权路径长度为( )。
A. 18 B. 16 C. 38 D. 30
答案是:C
利用n个值作为叶结点的权生成的哈夫曼树中共包含有( )个结点。
A. n B. n+1 C. 2*n D. 2*n-1
答案是:D
如果将给定的一组数据作为叶子数值,所构造出的二叉树的带权路径长度最小,则该树称为( )。
A.哈夫曼树 B.平衡二叉树 C.二叉树 D.完全二叉树
答案是:A
二叉树的先序遍历和中序遍历如下:
先序遍历:EFHIGJK
中序遍历:HFIEJKG
该二叉树根的右子树的根是( )。
A.E B.F C.G
答案是:C
某二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树一定( )。
A. 空或只有一个结点 B. 完全二叉树
C. 二叉排序树 D. 深度等于其
答案是:D
设n、m为一棵二叉树上的两个结点,中序遍历时n在m前的条件是( )。
A. n在m右方 B. n是m祖先 C. n在m左方 D. n是m子孙
答案是:C
如图所示二叉树的中序遍历序列是( )。
A. abdgcefh B. dgbaechf C. gdbehfca D. abcdefgh
答案是:B
在一非空二叉树的中序遍历序列中,根结点的右边( )。
A. 只有右子树上的所有结点 B. 只有右子树上的部分结点
C. 只有左子树上的所有结点 D. 只有左子树上的部分结点
答案是:A
在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加( )。
A.0 B.1 C.2 D.-1
答案是:C
n个结点的二叉树中,用二叉链表做存储,非空指针数目为( )。
A.n B.2n C.n-1 D.n+1
答案是:C
设二叉树中有n2个度为2的结点,n1个度为1的结点,n0个叶子结点,则此二叉树中空指针域个数为( )。
A.n0+n1+n2 B.n2+n1+2n0 C.2n2+n1 D.2n0+n1
答案是:D
设一棵二叉树中没有度为1的结点,已知叶子结点数为n,此树的结点数为( )。
A.2n+2 B.2n+1 C.2n D.2n-1
答案是:D
具有127个结点的完全二叉树其深度为( )。
A.8 B.7 C.6 D.5
答案是:B
在一棵二叉树上,第5层的结点数最多为( )。
A.8 B.15 C.16 D.32
答案是:C
在一棵度具有5层的满二叉树中结点总数为( )。
A.31 B.32 C.33 D.16
答案是:A
二叉树第k层上最多有( )个结点。
A.2k B.2k-1 C.2k-1 D.2k-1
答案是:B
假定一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为( )。
A. 15 B. 16 C. 17 D. 47
答案是:B
深度为5的二叉树至多有( )个结点。
A. 16 B. 32 C. 31 D. 10
答案是:C
如图所示一棵二叉树中,( C )不是完全二叉树。
答案是:C
对于一个满二叉树,m个树叶,n个结点,深度为h,则( )。
A. n = h + m B. h + m = 2n C. m = h-1 D. n = 2 h -1
答案是:D
树中所有结点的度等于所有结点数加( )。
A. 1 B. 0 C. 2 D. -1
答案是:D
树最适合用来表示( )。
A. 有序数据元素 B. 无序数据元素
C. 元素之间具有分支层次关系的数据 D. 元素之间无联系的数据
答案是:C
设有n阶对称矩阵A,用一维数组s压缩存储A的下三角元素,s的下标从零开始,元素s[26]相应于A中的元素为a7,6。
答案是:对
对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的行号、列号和元素值三项信息。
答案是:对
广义表A((a,b,c),(d,e,f))的表尾为((d,e,f))。
答案是:对
设广义表L=((),()),则其长度是0。
答案是:×
设广义表L=((),()),则其表尾是()。
答案是:×
设广义表L=((),()),则其表头是(())。
答案是:×
需要压缩存储的矩阵可分为特殊矩阵矩阵和稀疏矩阵矩阵两种。
答案是:对
一个广义表 ( (a), ( (b), c), ( ( (d) ) ) ) 的表尾是 ( (b), c), ( ( (d) ) )。
答案是:×
一个广义表 ( (a), ( (b), c), ( ( (d) ) ) ) 的长度为3,深度为4。
答案是:对
一个广义表的表尾总是一个表。
答案是:对
一个广义表的表头总是一个广义表
答案是:×
使用三元组表示稀疏矩阵中的非零元素能节省存储空间。
答案是:对
下列广义表中的线性表是( )。
A.E(a,(b,c)) B.E(a,E) C.E(a,b) D.E(a,L( ))
答案是:C
设有一个广义表A (a),其表尾为( )。
A.a B.( ( ) ) C.() D.(a)
答案是:C
广义表( f , h , (a ,b, d, c) , d , e ,( (i ,j ) ,k ) )的长度是( )。
A.6 B.10
C.8
答案是:A
广义表的( a , (d,a ,b) , h , (e ,( (i ,j ) ,k )) )深度是( )。
A.6 B.10
C.8
答案是:D
设有一个20阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a9,2在一维数组B中的下标是( )。
A.41 B.32
答案是:D
设二维数组A[5][6]按行优先顺序存储在内存中,已知A[0][0] 起始地址为1000,每个数组元素占用5个存储单元,则元素A[4][4]的地址为( )。
A.1140 B.1145 C. 1120
答案是:A
常对数组进行的两种基本操作是( )。
A.建立与删除 B.索引与修改
C.查找和修改 D.查找与索引
答案是:C
一个非空广义表的表头( )。
A.不可能是原子 B.只能是子表
C.只能是原子 D.可以是子表或原子
答案是:D
稀疏矩阵采用压缩存储的目的主要是( )。
A.表达变得简单 B.对矩阵元素的存取变得简单
C.去掉矩阵中的多余元素 D.减少不必要的存储空间的开销
答案是:D
一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的存储地址为100,则该数组的首地址是( )。+++
A.64 B.28
C.70 D.90
答案是:C
2.以下程序段的结果是:c的值为( )+++
char a[5]=”1236789”;
int *p=a,c=0;
While (*p++) c++;
A.8 B.7
答案是:B
一下程序段的结果是:c的值为( )
char *a[5]={“12378”,”1237”,”1236789”,”1237”,”123708”}
int i,c=0
for(i=0;i<5;i++)
if (str
答案是:A
串函数StrCmp(“ABCd”,“ABCD”)的值为-1。
答案是:错
字符串a1=〝heijing〞, a2 =〝hen〞 , a3= 〝heifang〞, a4=“heni〞最小的是a2。
答案是:错
一个空格的串的长度是0。
答案是:错
空串的长度是1。
答案是:错
两个串相等的充分必要条件是每一个对应位置的字符相同。
答案是:对
串的两种最基本的存储方式是顺序和链接。
答案是:对
串是一种特殊的线性表,其特殊性表现在组成串的数据元素都是字符。
答案是:对
用字符数组存储长度为n的字符串,数组长度至少为n+1。
答案是:对
在实际应用中,要输入多个字符串,且长度无法预定。则应该采用( )存储比较合适。
A.链式 B. 顺序 C.堆结构 D.无法确定
答案是:A.链式
以下四个串中最小的是( )。
A.”ABADF” B.”ABAFD”
C.”ABADFA” D.”ABAF”
答案是:A.”ABADF”
设主串为“FABcCDABcdEFaBc”,以下模式串能与主串成功匹配的是( )。
A. EFaBc B. ABCdE
C. DABCC
答案是:A. EFaBc
串函数StrCmp(“ABCd”,“ABCD”)的值为( )。
A.0 B.-1 C.1 D.3
答案是:C.1
串函数Strcat(a,b)的功能是进行串( )。
A.比较 B.复制 C.赋值 D.连接
答案是:D.连接
两个字符串相等的条件是( )。
A.两串的长度相等
B.两串包含的字符相同
C.两串的长度相等,并且两串包含的字符相同
D.两串的长度相等,并且对应位置上的字符相同
答案是:D.两串的长度相等,并且对应位置上的字符相同
空串与空格串( )。B
A.相同 B.不相同 C.可能相同 D.无法确定
答案是:B.不相同
串与普通的线性表相比较,它的特殊性体现在( )。
A.顺序的存储结构 B.链接的存储结构
C.数据元素是一个字符 D.数据元素可以任意
答案是:C.数据元素是一个字符
下面关于串的叙述中,不正确的是( )。
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串即可以采用顺序存储,也可以采用链式存储
答案是:B
若串S==“English”,其子串的个数是( )。+++
A.9 B.16 C. 36 D.28
答案是:D
串的长度是指( )。
A.串中所含不同字母的个数 B.串中所含字符的个数
C.串中所含不同字符的个数 D.串中所含非空格字符的个数
答案是:D
串是( )。
A.不少于一个字母的序列 B.任意个字母的序列
C.不少于一个字符的序列 D.有限个字符的序列
答案是:D
设有两个串p和q,其中q是p的子串,q在p中首次出现的位置的算法称为( )。
A.求子串 B.连接
C.匹配 D.求串长
答案是:C
以下陈述中正确的是( )。
A.串是一种特殊的线性表 B.串的长度必须大于零
C.串中元素只能是字母 D.空串就是空白串
答案是:A
在下面空格处填写一条语句,以使下面的出栈算法完整。
ElemType Pop(struct SeqStack*s,ElemType x)
{
If (StackEmpty(s)){
printf
答案是:A. s->top--;
在下面空格处填写一条语句,以使下面的进栈算法完整。
void Push(struct SeqStack*s,ElemType x)
{
If (s->top==MaxSize-1){
print
答案是:C. s->top++
写出下列程序执行后的结果
SeqStack S;
InitStack(S);
Push(S,3);
Push(S,4);
Push(S,5);
int x=Pop(S)+2*Pop(S);
Push(S,x
答案是:A. 15 12 8 5 13 3
写出下列程序执行后的结果
SeqQueue Q;
InitQueue(Q);
int a[4]={5,8,12,15};
for(int i=0;i<4;i++) InQueue(Q,a[i]);
InQueue(
答案是:B. 12 15 5 30 18
在下面空格处填写适当的语句,以使下面的循环队列的入队和出队算法完整。
define MAXSIZE 100;
typedef char Elemtype;
typedef struct
{
Elemtype queue [
答案是:D. (1) Q->queue[Q->rear]=x; (2) Q->front==Q->rear
在下面空格处填写一条语句,以使下面的链式队列全部元素出队的算法完整。
int write(LinkQueue *q)
{QueueNode *p;
if (q->front==q->rear) /*队空*/
答案是:C. q->rear=q->front;
在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
答案是:对
在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列至多有1个结点。
答案是:对
一个递归算法不必包括递归终止条件。
答案是:×
向一个栈顶指针为h的链栈(结点的指针域为next)中插入一个s所指结点时,先执行s->next=h,再执行h=s操作。
答案是:对
在队列的顺序存储结构中,当插入一个新的队列元素时,尾指针后移,当删除一个元素队列时,头指针后移。
答案是:对
循环队列队头指针在队尾指针前一个位置,队列是“满”状态。
答案是:对
往栈中插入元素的操作方式是:先写入元素,后移动栈顶指针。
答案是:×
队列的特性是先进后出。
答案是:×
栈是限定在表的一端进行插入和删除操作的线性表,又称为先进后出表。
答案是:对
用非递归方法实现递归算法时一定要使用递归工作栈。
答案是:×
递归调用算法与相同功能的非递归算法相比,主要问题在于重复计算太多,而且调用本身需要分配额外的空间和传递数据和控制,所以时间与空间开销通常都比较大。
答案是:对
递归的算法简单、易懂、容易编写,而且执行效率也高。
答案是:×
递归定义的数据结构通常用递归算法来实现对它的操作。
答案是:对
在用单链表表示的链式队列Q中,队头指针为Q->front,队尾指针为Q->rear,则队空条件为Q->front == Q->rear
答案是:×
若让元素1,2,3依次进栈,则出栈次序1,3,2是不可能出现的情况。
答案是:×
栈和队列都是顺序存取的线性表, 但它们对存取位置的限制不同。
答案是:对
在一个顺序存储的循环队列中, 队头指针指向队头元素的后一个位置。
答案是:×
链式栈与顺序栈相比, 一个明显的优点是通常不会出现栈满的情况。
答案是:对
目前为:
2/3
页
首页 上页 下页 尾页