数据结构自考2013年10月真题及答案解析
-
已知:
typedef struct node{
int data;
struct node *next;
} LinkNode;
typedef LinkNode *LinkList;
请编写原型为int Listisequal(LinkList A,LinkList B)的函数,指针A、B分别指向两个带头结点的单链表。函数功能是:若单链表A、B中全部对应结点的data值相等,则返回1,否则返回0。
-
下列函数实现直接插入排序,请填写适当内容,使其功能完整。
-
函数BinSearch实现二分查找,请回答下列问题。
(1)在空白处填写适当内容,使函数功能完整。
(2)查找成功时函数的返回值是什么?
(3)查找失败时函数的返回值是什么?
-
阅读下列函数并回答问题
(1)执行该函数后,单链表head中data值为x的结点数是多少?
(2)该函数的功能是什么?
-
阅读下列函数并回答问题
typedef struct node{
DataType data;
struct node *lchild, *rchild;
}BinTNode;
typedef B inTNode *BinTree;
void Inorder(BinTree bt)
{
if(bt!=NULL){
Inorder(bt->lchild);
printf(〃%c〃,bt->data);
Inorder(bt->rchild);
}
}
(1)给出对如题3 1图所示的二叉树执行函数Inorder后得到的输出序列。
(2)该函数的功能是什么?
-
已知二叉树如题29图,请画出该二叉树的前序线索。
-
己知带权图G=(VE),其中V=(A,B,C,D,E),邻接矩阵如下
(1)画出对应的图G
(2)画出图G的最小生成树
-
已知一组待排记录的关键字序列为(15,11,17,59,14,35,13,17,24,84),请给出对应的小根堆序列。
-
己知图G的邻接表如题25图所示。从顶点v1出发进行深度优先搜索,得到的深度优先搜索序列是__________.
-
设Q[M]是有M个元素存储空间的循环队列,若front指向队首元素,rear指向队尾元素的下一位置,请分别用C语言描述下列操作:
(1)将元素x入队;
(2)将队首元素出队,并保存到变量y中;
(3)计算当前队列中元素个数。
-
己知散列表表长m=11,散列函数h(key)=key%11,表中存有三个关键字15,27,39,其余地址为空,若采用线性探查法处理冲突,则关键字为60的结点保存的地址是_________。
-
图的遍历方法有两种,一种是深度优先遍历,另一种是__________。
-
如果排序算法是稳定的,则关键字相同的两个记录排序前后相对次序__________。
-
以权值分别为4,3,2,1的四个叶子结点构成的哈夫曼树,其带权路径长度WPL是_______。
-
广义表A=(x,((y,z),a,b)),则函数head(head(tail(A)))的值是__________。
-
顺序栈存放在S[m]中,S[0]为栈底,栈顶指针top初始值为-1,则栈满的条件是top= __________。
-
若在长度为n的顺序表第i个元素之前插入一个元素,则需要向后移动的元素个数是__________。
-
队列只能在队尾进行插入操作,在队首进行__________操作。
-
下列排序算法中,时间复杂度为
的算法是( )
- A.快速排序
- B.冒泡排序
- C.直接选择排序
- D.直接插入排序
-
数据的同一种逻辑结构,可以对应多种不同的__________。
-
下列线性表中,能使用二分查找的是( )
- A.顺序存储(2,12,5,6,9,3,89,34,25)
- B.链式存储(2,12,5,6,9,3,89,34,25)
- C.顺序存储(2,3,5,6,9,12,25,34,89)
- D.链式存储(2,3,5,6,9,12,25,34,89)
-
对下图进行拓扑排序,可以得到的拓扑序列是( )
- A.a b c d e
- B.b a c d e
- C.b c a d e
- D.a b d c e
-
在下列查找方法中,平均查找长度与结点数量无直接关系的是( )
- A.顺序查找
- B.分块查找
- C.散列查找
- D.基于B树的查找
-
在下列排序算法中,关键字比较次数与初始排列次序无关的是( )
- A.冒泡排序
- B.希尔排序
- C.直接插入排序
- D.直接选择排序
-
下列关于有向带权图G的叙述中,错误的是( )
- A.图G的任何一棵生成树都不含有回路
- B.图G生成树所含的边数等于顶点数减1
- C.图G含有回路时无法得到拓扑序列
- D.图G的最小生成树总是唯一的
-
无向图G的邻接矩阵一定是( )
- A.对称矩阵
- B.对角矩阵
- C.三角矩阵
- D.单位矩阵
-
若采用邻接矩阵A存储有向图G,则结点k的入度等于A中( )
- A.结点k对应行元素之和
- B.结点k对应列元素之和
- C.结点k对应行和列元素之和
- D.非零元素之和
-
若栈的进栈序列为1,2,3,4,5,则经过出入栈操作不可能获得的出栈序列是( )
- A.4,5,3,2,1
- B.4,3,5,1,2
- C.1,2,3,4,5
- D.5,4,3,2,1
-
深度为4的完全二叉树的结点数至少为( )
- A.4
- B.8
- C.13
- D.15
-
A是7×4的二维数组,按行优先方式顺序存储,元素A[0][0]的存储地址为1 000,若每个元素占2个字节,则元素A[3][3]的存储地址为( )
- A.1015
- B.1016
- C.1028
- D.1030
-
在头指针为head的循环链表中,判断指针变量P指向尾结点的条件是( )
- A.p->next->next==head
- B.p->next==head
- C.p->next->next==NULL
- D.p->next==NULL
-
迪杰斯特拉(Dijkstra)算法的功能是( )
- A.求图中某顶点到其他顶点的最短路径
- B.求图中所有顶点之间的最短路径
- C.求图的最小生成树
- D.求图的拓扑排序序列
-
对需要频繁插入和删除结点的线性表,适合的存储方式是( )
- A.顺序储存
- B.链式存储
- C.索引存储
- D.散列存储
-
算法的时间复杂度表征的是( )
- A.算法的可读性
- B.算法的难易程度
- C.执行算法所耗费的时间
- D.执行算法所耗费的存储空间