出自:国家开放大学《数据结构》

一棵哈夫曼树总共有23个结点,该树共有()个叶结点(终端结点〉。
A:10
B:13
C:11
D:12
一棵哈夫曼树总共有25个结点,该树共有()个非叶结点(非终端结点)。
A:12
B:13
C:14
D:15
如图,若从顶点a出发按广度优先搜索法进行遍历,则可能得到的顶点序列为()。
A:acebdgf
B:acfedgb
C:abecdgf
D:abecfdg
char*p;p=StrCat(“ABD”,”ABC”);Printf(“%s”,p);的显示结果为()。
A:-1
B:ABDABC
C:AB
D:1
()是性质相同的数据元素的集合,是数据的子集。
A:数据对象
B:数据元素
C:数据结构
D:数据项
在队列的顺序存储结构中,当插入一个新的队列元素时,()指针的值增1,当删除一个元素队列时,()指针的值增1。
设线性表为(6,10,16,4),以下程序用说明结构变量的方法建立单向链表,并输出链表中各结点中的数据。
已知某二叉树的先序遍历序列是aecdb,中序遍历序列是eadcb。

第1题,共3个问题
(简答题)画出该二叉树。

第2题,共3个问题
(简答题)给出上述二叉树的后序遍历序列。

第3题,共3个问题
(简答题)若上述二叉树的各个结点的字符分别是1,2,3,4,5,并恰好使该树成为一棵二叉排序树,试问a、b、c、d、e的值各为多少?
在一个栈顶指针为top的链栈中,将一个p指针所指的结点入栈,应执行()。
A: p->next=top;top=p;
B: top->next=p;
C: p->next=top->next;top=top->next;
D: p->next=top->next;top->next=p;
设查找表为(20,19,24,57,68,11)在排序后的有序表的基础上,画出对其进行折半查找所对应的判定树。(要求以数据元素作为树结点)

已知无向图G描述如下:
G=(V,E)
V={V1,V2,V3,V4,V5}
E={(V1,V2),(V1,V4),(V2,V4),(V3,V4),(V2,V5),(V3,V4),(V3,V5)}



第1题,共3个问题
(简答题)画出G的图示。

第2题,共3个问题
(简答题)给出G的邻接矩阵和邻接表。

第3题,共3个问题
(简答题)写出每个顶点的度。
设链表中的结点是NODE类型的结构体变量,且有NODE*p;为了申请一个新结点,并由p指向该结点,可用以下语句()。
A:p=(NODE*)malloc(sizeof(p));
B:p=(*NODE)malloc(sizeof(NODE));
C:p=(NODE)malloc(sizeof(p));
D:p=(NODE*)malloc(sizeof(NODE));
采用顺序查找法对长度为n的线性表进行查找(不采用表尾设监视哨的方法),最坏的情况下要进行()次元素间的比较。
A:n+2
B:n
C:n-l
D:n/2
在有序表{1,3,8,13,33,42,46,63,76,78,86,97,100}中,用折半查找值86时,经()次比较后查找成功。
A:6
B:3
C:8
D:4
哈希法既是一种存储方法,又是一种()。
设有n阶对称矩阵A,用数组s进行压缩存储,当i≥j时,A的数组元素aij相应于数组s的数组元素的下标为()。(数组元素的下标从1开始)
设有查找表{5,14,2,6,18,7,4,16,3},依次取表中数据,构造一棵二叉排序树。并说明如何由序列的二叉排序树得到相应序列的排序结果,对上述二叉排序给出中序遍历的结果。
已知如图1所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为()。
A:abcedf
B:abcefd
C:aebcfd
D:acfdeb
排序方法中,从尚未排序序列中挑选元素,并将其依次放入已排序序列(初始为空)的一端的方法,称为()排序。
A:归并
B:插人
C:快速
D:选择
一个栈的进栈序列是a,b,c,d,则栈的不可能的出栈序列是()。
A:dcba
B:bcad
C:cbad
D:adbc
通常可以把某城市中各公交站点间的线路图抽象成()结构。
一个栈的进栈序列是1,2,3,4,则栈的不可能的出栈序列是()。
A:3,2,4,1
B:3,2,1,4
C:4,3,2,1
D:1,4,2,3
设有一个单向链表,结点的指针域为next,头指针为head,p指向尾结点,为了使该单向链表改为单向循环链表,可用语句()。
在一个不带头结点的非空链队中,f和r分别为队头和队尾指针,队结点的数据域为data,指针域为next,若要进行出队操作,并用变量x存放出队元素的数据值,则相关操作为x=f->data;()。
设有一个12阶的对称矩阵A,采用压缩存储方式将其下三角部分以行序为主序存储到一维数组b中(矩阵A的第一个元素为a1,1,数组b的下标从1开始),则矩阵A中第4行的元素在数组b中的下标i一定有()。
A:7≤i≤10
B:11≤i≤15
C:9≤i≤14
D:6≤i≤9
在C语言中,顺序存储长度为3的字符串,需要占用()个字节。
A:4
B:3
C:6
D:12
以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域data为字符型,BT指向根结点)。
有序表为{1,2,4,6,10,18,20,32},用课本中折半查找算法查找值18,经()次比较后成功查到。
A:3
B:2
C:4
D:5
元素2,4,6按顺序依次进栈,则该栈的不可能的输出序列是()。
A:6 4 2
B:6 2 4
C:4 2 6
D:2 6 4
设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收楼顶元素,则出栈操作为()。
A:x=top->data;top=top->next;
B:top=top->next;x=top->data;
C:x=top->next;top=top->data;
D:top->next=top;x=top->data;