数据结构试卷及答案(五)

  • 一、选择题

  1. 1、数据的最小单位是(  )。 
    (A) 数据项     
    (B) 数据类型    
    (C) 数据元素    
    (D) 数据变量

  2. image.png

数据结构考研题目及答案 参考答案是:A

2、设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为
(   )。 
(A) 40,50,20,95              
(B) 15,40,60,20
(C) 15,20,40,45     
(D) 45,40,15,20

数据结构考研题目及答案 参考答案是:B

3、设一组初始记录关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有5个长度为2的有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结果为(   )。
(A) 15,25,35,50,20,40,80,85,36,70
(B) 15,25,35,50,80,20,85,40,70,36
(C) 15,25,35,50,80,85,20,36,40,70
(D) 15,25,35,50,80,20,36,40,70,85

数据结构考研题目及答案 参考答案是:A

4、函数substr(“DATASTRUCTURE”,5,9)的返回值为(  )。 
(A) “STRUCTURE”                   
(B) “DATA” 
(C) “ASTRUCTUR”                                
(D) “DATASTRUCTURE”

数据结构考研题目及答案 参考答案是:A

5、设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为(  )。 
(A) O(log2n)     
(B) O(1)        
(C) O(n2)      
(D) O(n)

数据结构考研题目及答案 参考答案是:D

6、设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为N1,……,度数为m的结点数为Nm,则N0=(  )。 
(A) Nl+N2+……+Nm                 
(B) 1+N2+2N3+3N4+……+(m-1)Nm
(C) N2+2N3+3N4+……+(m-1)Nm      
(D) 2Nl+3N2+……+(m+1)Nm

数据结构考研题目及答案 参考答案是:B

7、设有序表中有1000个元素,则用二分查找查找元素X最多需要比较(  )次。 
(A) 25           
(B) 10          
(C) 7                   
(D) 1

数据结构考研题目及答案 参考答案是:B

8、设连通图G中的边集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发可以得到一种深度优先遍历
的顶点序列为(  )。 
(A) abedfc       
(B) acfebd      
(C) aebdfc          
(D) aedfcb

数据结构考研题目及答案 参考答案是:B

9、设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列第i个输出元素是()。 
(A) n-i          
(B) n-1-i       
(C) n+1-i           
(D) 不能确定

数据结构考研题目及答案 参考答案是:C

10、设一组初始记录关键字序列为(45,80,55,40,42,85),则以第一个记录关键字45为基准而得到一趟快速排序的结果是(  )。 
(A) 40,42,45,55,80,83       
(B) 42,40,45,80,85,88
(C) 42,40,45,55,80,85       
(D) 42,40,45,85,55,80

数据结构考研题目及答案 参考答案是:C

二、填空题

  1. 1、设有一个顺序共享栈S[0:n-1],其中第一个栈项指针top1的初值为-1,第二个栈顶指针top2的初值为n,则判断共享栈满的条件
    是____________________。

数据结构考研题目及答案 参考答案是:
top1+1=top2

2、在图的邻接表中用顺序存储结构存储表头结点的优点是____________________。

数据结构考研题目及答案 参考答案是:
可以随机访问到任一个顶点的简单链表

3、设有一个n阶的下三角矩阵A,如果按照行的顺序将下三角矩阵中的元素(包括对角线上元素)存放在n(n+1)个连续的存储单元
中,则A[i][j]与A[0][0]之间有_______个数据元素。

数据结构考研题目及答案 参考答案是:
i(i+1)/2+j-1

4、栈的插入和删除只能在栈的栈顶进行,后进栈的元素必定先出栈,所以又把栈称为__________表;队列的插入和删除运算分别
在队列的两端进行,先进队列的元素必定先出队列,所以又把队列称为_________表。

数据结构考研题目及答案 参考答案是:
FILO,FIFO

5、设一棵完全二叉树的顺序存储结构中存储数据元素为ABCDEF,则该二叉树的前序遍历序列为___________,中序遍历序列为
___________,后序遍历序列为___________。

数据结构考研题目及答案 参考答案是:
ABDECF,DBEAFC,DEBFCA

6、设一棵完全二叉树有128个结点,则该完全二叉树的深度为________,有__________个叶子结点。

数据结构考研题目及答案 参考答案是:
8,64

7、设有向图G的存储结构用邻接矩阵A来表示,则A中第i行中所有非零元素个数之和等于顶点i的________,第i列中所有非零元素
个数之和等于顶点i的__________。

数据结构考研题目及答案 参考答案是:
出度,入度

8、设一组初始记录关键字序列(k1,k2,……,kn)是堆,则对i=1,2,…,n/2而言满足的条件为___________________。

数据结构考研题目及答案 参考答案是:
ki<=k2i && ki<=k2i+1

9、下面程序段的功能是实现冒泡排序算法,请在下划线处填上正确的语句。
void bubble(int  r[n])
{
     for(i=1;i<=n-1; i++)
     {
         for(exchange=0,j=0; j<_____________;j++) 
         if (r[j]>r[j+1])
         {
             temp=r[j+1];
             ______________;
             r[j]=temp;
             exchange=1;
         }
         if (exchange==0) 
            return;
     }
}

数据结构考研题目及答案 参考答案是:
n-i,r[j+1]=r[j]

10、下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句。
struct record
{
     int key; 
     int others;
};
int bisearch(struct record r[ ], int k)
{
     int low=0,mid,high=n-1;
     while(low<=high)
     {
     _________________;
     if(r[mid].key==k) 
         return(mid+1); 
     else if(____________)
         high=mid-1;
     else 
         low=mid+1;
     }
     return(0);
}

数据结构考研题目及答案 参考答案是:
mid=(low+high)/2,r[mid].key>k

三、应用题

  1. 1、设某棵二叉树的中序遍历序列为DBEAC,前序遍历序列为ABDEC,要求给出该二叉树的的后序遍历序列。

数据结构考研题目及答案 参考答案是:
DEBCA

2、设无向图G(如下图所示),给出该图的最小生成树上边的集合并计算最小生成树各边上的权值之和。 
无向图Gimage.png

数据结构考研题目及答案 参考答案是:
E={(1,5),(5,2),(5,3),(3,4)},W=10

3、设一组初始记录关键字序列为(15,17,18,22,35,51,60),要求计算出成功查找时的平均查找长度。

数据结构考研题目及答案 参考答案是:
ASL=(1*1+2*2+3*4)/7=17/7

4、设散列表的长度为8,散列函数H(k)=k mod 7,初始记录关键字序列为(25,31,8,27,13,68),要求分别计算出用线性探测
法和链地址法作为解决冲突方法的平均查找长度。

数据结构考研题目及答案 参考答案是:
ASL1=7/6,ASL2=4/3

四、算法设计题

  1. 1、设计判断两个二叉树是否相同的算法。

数据结构考研题目及答案 参考答案是:
typedef struct node 
{
  datatype data; 
  struct node *lchild,*rchild;
} bitree;
int judgebitree(bitree *bt1,bitree *bt2)
{
  if (bt1==0 && bt2==0) 
      return(1);
  else if(bt1==0||bt2==0||bt1->data!=bt2->data) 
      return(0);
  else 
      return(judgebitree(bt1->lchild,bt2->lchild)*judgebitree(bt1->rchild,bt2->rchild));
}

2、设计两个有序单链表的合并排序算法。

数据结构考研题目及答案 参考答案是:
void mergelklist(lklist *ha,lklist *hb,lklist *&hc)
{
   lklist *s=hc=0;
   while(ha!=0 && hb!=0)
     if(ha->datadata)
     {
         if(s==0) 
             hc=s=ha; 
         else 
         {
             s->next=ha; 
             s=ha;
         }
         ha=ha->next;
     }
     else 
     {
         if(s==0) 
             hc=s=hb; 
         else 
         {
             s->next=hb; 
             s=hb;
         }
         hb=hb->next;
     }
     if(ha==0) 
         s->next=hb; 
     else 
         s->next=ha;
}

来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=49

'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
博客
32132
07-14 363
07-12 295
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值