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

时间:2024-04-27 20:04:22 5A范文网 浏览: 复习资料 我要投稿
试卷代号:1010
中央广播电视大学2007-2008学年度第二学期"开放本科"期末考试
计科网络、计科应用、计科硬件专业 数据结构 试题
2008年7月
一、单项选择题(在括号内填写所选择的标号。每小题2分,共18 分)
1.执行下面程序段时,S语句的执行次数为( )。
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)S;
A.n2 B.n2/2
C.n(n+1) D.n(n+1)/2
2.多维数组实际上是由嵌套的( )实现的。
A.一维数组 B.多项式
C. 三元组表 D.简单变量
3.表头指针为first的单链表为空的判定条件是( )。
A.first==NULL: B.first一>link==NULL;
C. first一>link==first; D.first! =NULL;
4.若让元素1,2,3依次进栈,则出栈次序不可能出现( )种情况。
A.3,2,1 B.2,1,3
C.3,1,2 D.1,3,2
5.在一棵具有n个结点的完全二叉树中,共包含有( )个分支结点。
A.(n-1)/2 B.n/2
  C. n/2+1 D.n/2-1
6.若搜索每个元素的概率相等,则在长度为n的顺序表上搜索任一元素的平均搜索长度为( )。
A.n B.n+l
C.(n一1)/2 D.(n+1)/2
7.向一棵AVL树插入元素时,可能引起对最小不平衡子树的调整过程,此调整分为( )
种旋转类型。
A.2 B.3
C.4 D,5
8.为了实现图的广度优先搜索遍历,其算法使用的一个辅助数据结构是( )。
A.栈 B.队列
C. 二叉树 D.树
9.在一棵5阶B树中,每个结点最多允许有( )个关键码。
A.2 B.3
C.4 D.5
二、填空题(在横线处填写合适的内容。每小题2分,共14分)
1.在类的继承结构中,位于上层的类叫做基类,而位于下层的类叫做 类。
2.设链栈中结点的结构为(data,link),栈顶指针为top,当向该链栈插人一个新结点*p
时,应依次执行p一>link=top和 这两步操作。
3.广义表的 定义为广义表中括号被嵌套的最大重数。
4.在一棵高度为5的完全二叉树中,最少含有 个结点。假定树根结点的高度为0。
5.从有序表(12,18,30,43,56,78,82,95)中折半搜索56元素时,其搜索长度为

6.具有n个顶点的连通图中至少含有 条边。
  7.假定一个数据集合为{46,79,56,38,40,84},则在构成的最大堆(即大根堆)中,其堆顶元素为 。
  三、判断题(在每小题后面括号内打对号表示叙述正确或打叉号表示叙述错误。每小题2分,共14分)
   1. 若每次从队列中取出的是具有最高优先权的元素,则称此队列为优先级队列。 ( )
   2.递归定义的数据结构通常不需要采用递归的算法对其运算。 ( )
   3.当从一个最小堆中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。 ( )
   4.对于一棵具有n个结点、高度为h的二叉树,进行任一种次序遍历的时间复杂度均为O(n)。 ( )
   5.对于同一组记录集合,生成二叉搜索树的形态与插人记录的次序无关。 ( )
   6.装载因子是散列存储中的一个重要指标,它反映了散列表的装满程度。 ( )
  7.在一棵B树中,所有叶结点都处在同一层上。 ( )
四、运算题(每小题6分,共30分)
   1.假定一棵二叉树的广义表表示为A(B(,D(G)),C(E,F)),分别写出对它进行先序、中序、按层遍历的结果。
   先序:
   中序:
   按层:
   2.已知-个有序表(15,26,34,39,45,56,58,63,74,76,83,94)顺序存储于-维数组a[12]中,根据折半搜索过程填写成功搜索下表中所给元素34、56、58、63时的比较次数。
  
  3.假定一个线性序列为(56,27,34,95,73,16,60,62),根据此线性序列中元素的排列次序生成一棵二叉搜索树,分别求出该二叉搜索树中双支结点、单支结点和叶子结点的个数。
   双支结点数:
   单支结点数:
   叶子结点数:
   4.已知一个带权图的顶点集V和边集G分别为:
   V={0,1,2,3,4,5};
   E={(0,1)19,(0,2)21,(0,3)14,(1,2)16,(1,5)5,(2,4)11,(3,4)18,(4,5)6}; 试根据普里姆算法从顶点。出发求出最小生成树,在下面填写依次得到的最小生成树中的每条边。
   5.设散列表的长度m=7;散列函数为H(K)=K mod m,给定的关键码序列为{19,14,23,40,68},并假定采用的闭散列表为HT[m],采用的解决冲突的方法为线性探查法,求出在最后得到的散列表中,关键码19、40和68的存储位置和对应的查找长度。
  
  五、算法分析题(每小题6分,共12分)
   1.设单链表结点的结构为LNode=(data,link),阅读下面函数,指出它所实现的功能。
   intAA(LNode。Ha){ //Ha为指向带表头附加结点的单链表的表头指针
   int n=0;
   LNode*p=Ha一>link;
   while(p){
   n++;
   p=p一>link;
   }
   return n;
   )
   算法功能:
  2.阅读下面算法,写出算法功能。
   LinkNode*BB(LinkNode*first) //first为单链表的表头指针
   {
   if(first==NULLI,first一>link:=NULL)return first;
   LinkNode*p=first,*r1=first一>link;
   p一>link=NULL;
   while(rl!=NULL){
   ListNode* r2=r1->link;
   r1->link=p;
   p=r1;
   r1=r2;
   }
   return p;
   }
   算法功能:
   六、算法设计题(每小题6分,共12分)
   1. 根据下面函数原型编写一个对一维数组A[n)中的n个有序元素进行折半查找其值为 K的非递归算法,若查找成功则返回元素下标,否则返回一1。
   int BinarySearch(ElemTypeA[],int n,ElemType K);
   2.已知二叉树中的结点类型用BinTreeNode表示,定义为:
   struct BinTreeNode{char data;BinTreeNode *left,*right;};
   其中data为结点值域,left和right分别为指向左、右子女结点的指针域,根据下面函数声明编写出交换一棵二叉树中所有结点的左、右指针域值的递归算法,算法中参数BT初始指向这棵二叉树的根结点。
   void BTreeSwop(BinTreeNode*BT);
  
  
  
  
  
  
  
  
试卷代号:1010
中央广播电视大学2007-2008学年度第二学期"开放本科"期末考试
计科网络、计科应用、计科硬件专业 数据结构 试题
   2008年7月
   一、单项选择题(在括号内填写所选择的标号。每小题2分,共18分)
   1.D 2.A 3.A 4.C 5.B
   6.D 7.C 8.B 9.C
   二、填空题(在横线处填写合适的内容。每小题2分,共14分)
   1.派生(或子)
   2.top=p
   3.深度
   4.32
    5. 3
    6.n一1
    7.84
   三、判断题(在每小题后面括号内打对号表示叙述正确或打叉号表示叙述错误。每小题2分,共14分)
   1.√ 2.X 3.√ 4.√ 5.X
  四、运算题(每小题6分,共30分)
   1.先序:A,B,D,G,C,E,F //2分
   中序:B,G,D,A,E,C,F //2分
   按层:A,B,C,D,E,F,G //2分
2.评分标准:对1个数据给1分,全对给6分
   元素 34 56 58 63
   比较次数 2 1 3 4
   3.双支结点数:2 //2分
   单支结点数:3 //2分
   叶子结点数:3 //2分
   4.(0,3)14,(3,4)18,(4,5)6,(5,1)5,(4,2)11
   5.评分标准:每个数据的存储位置和查找长度正确各得1分,共6分。
  
   五、算法分析题(每小题6分,共12分)
   1.计算并返回单链表的长度。
   2.逆序排列以first为表头指针的单链表中的所有结点并返回新的表头指针。
   六、算法设计题(每小题6分,共12分)
   1.请根据编写的完整程度酌情给分。
   int BinarySearch(ElemType A[],int n,ElemType K)
   { //对数组A中的n个有序元素进行折半查找
   int low=0,high=n-1; //1分
   while(low<=high) //2分
   {
   int mid=(low+high)/2; //3分
   if(K=A[mid])return mid;
   else if(K   else low=mid+1; //5分
   }
   return一1; //6分
   }
  
  2.请根据编写的完整程度酌情给分。
   void BTreeSwop(BinTreeNOde*BT)
   {
   if(BT! =NULl){ //1分
   //交换左右子女指针域的值
   BinTreeNode * pt=BT一>left;
   BT一>left=BT一>right;
   BT->right=pt; //2分
   //对左子树进行同样处理
   BTreeSwop(BT一>left); //4分
   //对右子树进行同样处理
   BTreeSwop(BT一>,right); //6分
   }
}

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

相关文章:

你作为卫生防疫部门的工作人员,当前新型冠状肺炎的防治04-27

小王是一名下沉社区支援基层防疫的工作人员。社区领导04-27

你是刘处长,分管单位的办公室,小王是办公室新进员工,上班04-27

材料:近日,某海事局对一违法运输船舶处以21.8万元罚款,刷04-27

单位要组织大型会议,准备时间非常紧,领导便安排你和其他04-27

2019年5月5日凌晨,被告人彭某与朋友吃宵夜、喝啤酒,并在04-27

疫情防控期间,单位要求50%的人员到岗,你作为科室负责人04-27

小张是办公室工作人员,这是一天的工作,假如你是小张,请合04-27

驴和狐狸结伴出去觅食。它们没走多远,就看见一头狮子正04-27

狐狸为躲避猎人们追赶而逃窜,恰巧遇见了一个樵夫,便请求04-27

热搜文章
最新文章