2075电大《数据结构》试题和答案200807

时间:2024-04-27 20:48:14 5A范文网 浏览: 复习资料 我要投稿
试卷代号:2075
中央广播电视大学2007-2008学年度第二学期"开放专科"期末考试
数据结构 试题
2008年7月
一、单选题(每小题2分,共20分)
1.若需要利用形参直接访问实参,则应把形参变量说明为( )参数。
A.指针 B.引用
C. 值 D.函数
2.假定利用数组aLN引顷序存储一个栈,用top表示栈顶指针,top==一1表示栈空,并已知栈未空,当退栈并返回栈顶元素时所执行的操作为( )。
A.returna[--top]; B.returna[top--];
C. returna[++top]; D.returna[top++];
3.假定一个链队的队首和队尾指针分别为f和r,则判断队空的条件为( )。
A.f==r B.f!=NULL
C. r!=NULL D. f==NULL
4.在一棵具有n个结点的二叉树中,所有结点的空指针数等于( )。
A.n B.n一1
C. n+1 D. 2 * n
5.从堆中删除一个元素的时间复杂度为( )。
A.O(1) B.O(n)
  C O(10g2n) D. O(nlog2n)
  6.利用n个值作为叶子结点的权生成的哈夫曼树中共有( )个分支结点。
   A.n B.n+l
   C.n一1 D.2 * n
  7.在一个带权连通图G中,权值最小的边一定包含在G的( )生成树中。
   A.最小 B.一般
   C. 广度优先 D.深度优先
  8.一个具有n个顶点和小于n-l条边的图一定是( )。
   A.连通的 B.不连通的
   C. 无回路 D.有回路
  9.对于长度为n的顺序存储的有序表,若采用二分查找,则对任一元素的查找长度为 ( )数量级。
   A.n2 B.n
   C. log2n D.
  lo.若根据一个数据集合建立对应的散列表,假定采用h(K)=K%7计算散列地址,则 元素48的散列地址为( )。
   A.3 B.4
   C.5 D.6
  二、填空题(每小题2分,共20分)
   1.对于一个长度为n的顺序存储的线性表,在表尾插入元素的时间复杂度为 。
   2.在稀疏矩阵所对应的三元组线性表中,线性表的长度等于稀疏矩阵中(0/非0)
   元素的个数。
   3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件为--。
  4.队列的插入操作在队尾进行,而删除操作在 进行。
  5.由20个元素构成的二叉树中,其最小深度为 。
  6.在任一棵二叉树中,除树根结点外,其余的每个结点均有 个父亲结点。
  7.对于一棵二叉树,若一个结点的编号为i,它的左孩子结点的编号为2i,则右孩子结点的编号为 。
  8.向一棵二叉搜索树中插入一个元素时,若元素的值大于树根结点的值,则应把它插入到该树根结点的 子树上。
  9.对于一个具有n个顶点和c条边的无向图,在其对应的邻接表中,所含边结点的总数为 个。
  10.以 查找的方法查找一个元素时,首先需要查找索引表,然后再查找主表。
三、运算题(每小题6分,共24分)
 1.假定一棵普通树的广义表表示为a(b(e),c(f,g),d),试分别写出先根、后根和按层遍
   历的结果。
   先根:
   后根:
   按层:
  2.已知一个带权图的顶点集V和边集G分别为:
   V={0,1,2,3,4};
   E={(0,1)8,(0,2)5,(0,3)2,(2,3)10,(2,4)13,(3,4)16};
   按照权值从小到大的次序写出该图的最小生成树中的每条边。
   最小生成树中的每条边:
  3.假定对线性表(18,25,63,50,41,22)进行散列存储,若选用H(K)=K%7作为散列函数,并采用链接法处理冲突,则查找长度为1的元素个数有--个。
  4.假定-组记录的排序码为(40,80,50,62,46,79,56,38,73,38,64),写出对其进行归并排序的过程中,第二趟归并后的结果。
   第二趟归并后的结果:
  四、阅读算法,回答问题(每小题8分,共16分)
   1.写出下面算法被调用后得到的输出结果。
   voidAE(Stack& S) //S为一个顺序存储的栈
   {
   InitStack(S);
   Push(S,30);Push(S,40);
   inti,a[4]={12,15,5,8};
   for(i=0;i<4;id-+)Push(S,a[i]);
   Pop(S);
   while(!StackEmpty(S))cout<   cout<   }
   输出结果为:
   2.指出下面算法的功能,假定BST指向一棵二叉搜索树。
   bool Find(BTreeNode* BST,ElemType& item)
   {
   while(BST!=NULL){
   if(item==BST一>data)return true;
   else if(itemdata)BST=BST-->left;
   else BST=BST一->right;
   )
   return false;
   }
   算法功能:
  五、算法填空,在画有横线的地方填写合适的内容(每小题6分,共12分)
   1.此算法为求出并返回一个用邻接表表示的无向图GL中序号为numb的顶点的度数。
   int degree(adjlist GL,int numb,int n)
   {
   int d=0;
   edgenode* p=GL[numb];
   while(p!=NULL){
   ;
   p=p一>next;
   }
   return d;
   }
   2.下面算法的功能是统计出二叉树BT中值为x的结点个数并返回。
   int BTCl(BTreeNode* BT,ElemType x)
   {
   if(BT==NULL)return 0;
   else if(BT一>data==x)
   return BTCl(BT一>left,x)+BTCl(BT一>right,x)+1;
   else
   return BTCl(BT一>left,x)+ ;
   }
  六、编写算法(8分)
   根据下面函数原型编写出从二叉搜索树BST中查找并返回所有结点的最大值的算法,若为空树则退出运行。
   ElemType FM(BTreeNode* BST);
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  试卷代号:2075
   中央广播电视大学2007-2008学年度第二学期"开放专科"期末考试
   数据结构 试题答案及评分标准
   (供参考)
   2008年7月
   一、单选题(每小题2分,共20分)
   1.B 2.B 3.D 4.C 5.C
   6.C 7.A 8.B 9.C 10.D
   二、填空题(每小题2分,共20分)
   1.O(1)
   2. 非 0
   3.top==0
   4.队首(队头)
   5. 5
   6. 1
   7.2i+1
   8.右
   9. 2e
   10.索引
   三、运算题(每小题6分,共24分)
   1.先根:a,b,e,c,f,g,d; //2分
   后根:e,b,f,g,c,d,a; //2分
   按层:a,b,c,d,e,f,g //2分
   2.最小生成树中的每条边:(0,3)2,(0,2)5,(0,1)8,(2,4)13
   3. 4
   4.[40 50 62 80][38 46 56 79][38 64 73] //酌情给分
  四、阅读算法,回答问题(每小题8分,共16分)
   评分标准:根据每小题所答完整程度酌情给分。
   1. 5 15 12 40 30
   2.从BST所指向的二叉搜索树中查找出值为item的元素,若查找成功返回真,否则返回假。
   五、算法填空,在画有横线的地方填写合适的内容(每小题6分,共12分)
   1.d++
   2.BTCl(BT一>right,x)
   六、编写算法(8分)
   评分标准:根据编程完整程度酌情给分。
   注:可以不设指针t,而直接使用值参BST。
   ElemType FM(BTreeNode* BST){
   if(BST==NULL){cerr<<"此树为空"<   BTreeNode* t=BST;
   while(t一>right!=NULL)t=t一>right; //6分
   returnt->data; //8分
}
  

来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。

相关文章:

2045电大《金融企业会计》试题和答案20060704-27

2045电大《金融企业会计》试题和答案20050104-27

2045电大《金融企业会计》试题和答案20060104-27

2045电大《金融企业会计》试题和答案20040104-27

2045电大《金融企业会计》试题和答案20040704-27

电大金融学专业《公司财务》试题04-27

电大网上中考《西方经济学》试题(专科)04-27

电大计算机专业《英语》中考试题04-27

2058电大《C++语言程序设计》试题和答案20040104-27

2056电大《证券投资分析》试题和答案20070104-27

热搜文章
最新文章