20秋北理工71数据结构与算法模拟题5模拟测试答案

[复制链接]
发表于 2020-7-13 12:03:00 | 显示全部楼层 |阅读模式
判断题
1、 记录是数据处理的最小单位。 ( )
2.   两维数组是一种非线性结构。( )
3. 在某棵二叉树的一种序列中,如果发现其中每一结点的左孩子均是其前趋,则可判断定这种序列为中序序列( )。
4. 前序遍历和后序遍历结果相同的二叉树为只有根结点的二叉树( )。
5. 在任一有向图中,所有顶点的入度之和一定等于所有顶点的出度之和( )。二、单选题 1. 若要求能快速地实现在链表的末尾插入结点和删除第一个结点的运算,则选择(   )最合适。
A) 单链表 B) 带尾指针的单循环链表  C) 双链表 D) 双循环链表 2. 利用n个值生成的哈夫曼树中共有()个结点。
A.n B.n+1 C.2n D.2n-13. 在各种排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为( )。
A)希尔排序 B)冒泡排序 C)插入排序 D)选择排序
4.一个栈的入栈序列是a,b,c,d, 则下列序列中不可能的输出序列是( )。
A)acbd B)dcba  C)acdb D)dbac5. (   )不是队列的基本运算。
A. 判断一个队列是否为空              B. 从队头删除一个元素
C. 在队列第i个元素之后插入一个元素   D. 读取队头元素的值6. 一个队列的入列序列是1,2,3,4,则队列的输出序列是(     )。
A.4,3,2,1       B.3,2,4,1     C.1,4,3,2       D.1,2,3,47. 广义表((a), (b))的表尾是(     )。
A.( )           B.b             C. ((b))           D. (b)  8. 若无向图中有n个结点,e条边,则它的邻接表需要(     )个表结点。
A. n           B. 2n           C. 2e             D. e
9. 常对数组进行的两种基本操作是(    )。
A. 查找和插入  B. 插入和修改
C. 查找和修改  D.建立和删除    10. 已知某二叉树的先序遍历为A,B,D,C,E,则它可能的中序遍历序列为(     )。
A.B,C,A,D,E               B.C,B,A,D,E               
C.B,D,A,E,C               D.B,E,A,C,D               11. 下面关于图的存储的叙述中,(     )是正确的。
A.用邻接表存储图,占用的存储空间数与图中结点个数有关,与边数无关
B.用邻接表存储图,占用的存储空间数与图中边数有关,与结点个数无关
C.用邻接矩阵法存储图,占用的存储空间数与图中结点个数有关,与边数无关
D.用邻接矩阵法存储图,占用的存储空间数与图中边数有关,与结点个数无关12. 在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是(    )。
A. 冒泡排序        B. 快速排序
C. 直接插入排序    D. 简单选择排序三、填空题
1.数据的逻辑结构可分为____和____两大类。
2.数据的存储结构被分为____,_____,_____和____4种。
3.在下面的程序段中,s=s+p语句被执行次数为____,p*=j语句的执行次数为____,该程序的复杂度为____。
int i=0,s=0;
while(++i<=n)
{ int p=1;
for(int j=1;j<=i;j++)
p*=j;
s=s+p;
}
4.一种数据结构的元素集合K和它的二元关系R为:K={a,b,c,d,e,f,g,h}
R={<a,b>,<b,c>,<c,d>,<d,e>,<e,f>,<f,g>,<g,h>}
则该数据结构具有____结构。
5.线性表的两种存储结构分别为____和____。
   6.栈又称为________________的线性表。四、解答题
1.简述线性结构,树形结构,网状结构的不同。
2.简述算法复杂度的评价方法。
3.设有两个算法在同一台机器上运行,其执行时间分别为100n2和2n,要使前者快于后者,n至少为多大,
4.在顺序表中插入和删除一个结点需平均移动多少个结点,具体移动的次数取决于哪些因素,
5、在单链表,双向链表和单循环链表中,若仅知道指针p指向某结点,不知道头指针,能否将p从相应的链表中删去,若可以,其时间复杂度分别为多少, 四、算法题
1. 下面算法的功能是:?设计一个算法,统计出二叉树中等于给定值x的结点个数,该统计值由变量k带回(k的初值为0)。请填空完成该程序。
void count1(bitreptr r,datatype x,int &k)
{
if ((1)______________)
{
if(r—>data==x) (2)______________;
count1(r—>lchild,x,k);
count1(r—>rchild,x,k);
}
}
2. 阅读如下算法,给出该算法的功能。
int SquareSum(int n)
{ if(n==0)return 0;
else return n*n+Square(n-1);
}
转载注明  无忧答案网
快速回复 返回顶部 返回列表