欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2024/8/1 编程问答 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 数据结构试卷及答案(九) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
  • 一、选择题

  • 1、下列程序段的时间复杂度为(  )。 
    for(i=0;i<m;i++) 
       for(j=0;j<t;j++) 
         c[i][j]=0; 
    for(i=0;i<m;i++) 
       for(j=0;j<t;j++) 
         for(k=0;k<n;k++) 
           c[i][j]=c[i][j]+a[i][k]*b[k][j]; 
    (A) O(m*n*t)     
    (B) O(m+n+t)   
    (C) O(m+n*t)    
    (D) O(m*t+n)

  • C语言之父

  • 参考答案是:A

    2、设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动(  )个元素。 
    (A) n-i         
    (B) n+1-i     
    (C) n-1-i       
    (D) i

    参考答案是:A

    3、设F是由T1、T2和T3三棵树组成的森林,与F对应的二叉树为B,T1、T2和T3的结点数分别为N1、N2和N3,则二叉树B的根结
    点的左子树的结点数为(   )。 
    (A) N1-1         
    (B) N2-1        
    (C) N2+N3       
    (D) N1+N3

    参考答案是:A

    4、利用直接插入排序法的思想建立一个有序线性表的时间复杂度为(  )。 
    (A) O(n)         
    (B) O(nlog2n)   
    (C) O(n2)      
    (D) O(1og2n)

    参考答案是:C

    5、设指针变量p指向双向链表中结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X的操作序列为(  )。 
    (A) p->right=s; s->left=p; p->right->left=s; s->right=p->right; 
    (B) s->left=p;s->right=p->right;p->right=s; p->right->left=s; 
    (C) p->right=s; p->right->left=s; s->left=p; s->right=p->right; 
    (D) s->left=p;s->right=p->right;p->right->left=s; p->right=s;

    参考答案是:D

    6、下列各种排序算法中平均时间复杂度为O(n2)是(   )。 
    (A) 快速排序    
    (B) 堆排序      
    (C) 归并排序   
    (D) 冒泡排序

    参考答案是:D

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

    参考答案是:C

    8、设散列表中有m个存储单元,散列函数H(key)= key % p,则p最好选择(  )。
    (A) 小于等于m的最大奇数          
    (B) 小于等于m的最大素数 
    (C) 小于等于m的最大偶数         
    (D) 小于等于m的最大合数

    参考答案是:B

    9、设在一棵度数为3的树中,度数为3的结点数有2个,度数为2的结点数有1个,度数为1的结点数有2个,那么度数为0的结点数有(  )个。 
    (A) 4           
    (B) 5           
    (C) 6          
    (D) 7

    参考答案是:C

    10、设完全无向图中有n个顶点,则该完全无向图中有(  )条边。 
    (A) n(n-1)/2     
    (B) n(n-1)     
    (C) n(n+1)/2    
    (D) (n-1)/2

    参考答案是:A

    11、设顺序表的长度为n,则顺序查找的平均比较次数为(  )。 
    (A) n            
    (B) n/2         
    (C) (n+1)/2     
    (D) (n-1)/2

    参考答案是:C

    12、设有序表中的元素为(13,18,24,35,47,50,62),则在其中利用二分法查找值为24的元素需要经过(  )次比较。 
    (A) 1           
    (B) 2           
    (C) 3          
    (D) 4

    参考答案是:C

    13、设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为(  )。 
    (A) 6            
    (B) 11          
    (C) 5          
    (D) 6.5

    参考答案是:D

    14、设有向无环图G中的有向边集合E={<1,2>,<2,3>,<3,4>,<1,4>},则下列属于该有向图G的一种拓扑排序序列的是(  )。 
    (A) 1,2,3,4   
    (B) 2,3,4,1  
    (C) 1,4,2,3 
    (D) 1,2,4,3

    参考答案是:A

    15、设有一组初始记录关键字序列为(34,76,45,18,26,54,92),则由这组记录关键字生成的二叉排序树的深度为(  )。 
    (A) 4           
    (B) 5           
    (C) 6          
    (D) 7

    参考答案是:A

    二、填空题

  • 1、设指针p指向单链表中结点A,指针s指向被插入的结点X,则在结点A的前面插入结点X时的操作序列为:
    1) s->next=___________;
    2) p->next=s;
    3) t=p->data;
    4) p->data=___________;
    5) s->data=t;

  • 参考答案是:p->next,s->data

    2、设某棵完全二叉树中有100个结点,则该二叉树中有______________个叶子结点。

    参考答案是:50

    3、设某顺序循环队列中有m个元素,且规定队头指针F指向队头元素的前一个位置,队尾指针R指向队尾元素的当前位置,则该循环
    队列中最多存储_______队列元素。

    参考答案是:m-1

    4、对一组初始关键字序列(40,50,95,20,15,70,60,45,10)进行冒泡排序,则第一趟需要进行相邻记录的比较的次数为
    __________,在整个排序过程中最多需要进行__________趟排序才可以完成。

    参考答案是:6,8

    5、在堆排序和快速排序中,如果从平均情况下排序的速度最快的角度来考虑应最好选择_________排序,如果从节省存储空间的角
    度来考虑则最好选择________排序。

    参考答案是:快速,堆

    6、设一组初始记录关键字序列为(20,12,42,31,18,14,28),则根据这些记录关键字构造的二叉排序树的平均查找长度是
    ____________。

    参考答案是:19/7

    7、设一棵二叉树的中序遍历序列为BDCA,后序遍历序列为DBAC,则这棵二叉树的前序序列为____________________。

    参考答案是:CBDA

    8、设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为7、19、2、6、32、3、21、10,根据这些频率作为权值
    构造哈夫曼树,则这棵哈夫曼树的高度为________________。

    参考答案是:6

    9、设一组记录关键字序列为(80,70,33,65,24,56,48),则用筛选法建成的初始堆为_______________________。

    参考答案是:(24,65,33,80,70,56,48)

    10、设无向图G(如下图所示),则其最小生成树上所有边的权值之和为_________________。
     

    参考答案是:8

    三、判断题

  • 1、有向图的邻接表和逆邻接表中表结点的个数不一定相等。(  )

  • 参考答案是:错

    2、对链表进行插入和删除操作时不必移动链表中结点。(  )

    参考答案是:对

    3、子串“ABC”在主串“AABCABCD”中的位置为2。(  )

    参考答案是:对

    4、若一个叶子结点是某二叉树的中序遍历序列的最后一个结点,则它必是该二叉树的先序遍历序列中的最后一个结点。(  )

    参考答案是:对

    5、希尔排序算法的时间复杂度为O(n2)。(  )

    参考答案是:错

    6、用邻接矩阵作为图的存储结构时,则其所占用的存储空间与图中顶点数无关而与图中边数有关。(  )

    参考答案是:错

    7、中序遍历一棵二叉排序树可以得到一个有序的序列。(  )

    参考答案是:对

    8、入栈操作和入队列操作在链式存储结构上实现时不需要考虑栈溢出的情况。(  )

    参考答案是:对

    9、顺序表查找指的是在顺序存储结构上进行查找。(  )

    参考答案是:错

    10、堆是完全二叉树,完全二叉树不一定是堆。(  )

    参考答案是:对

    四、算法设计题

  • 1、设计计算二叉树中所有结点值之和的算法。

  • 参考答案是:void sum(bitree *bt,int &s) {if(bt!=0) {s=s+bt->data; sum(bt->lchild,s); sum(bt->rchild,s);} }

    2、设计将所有奇数移到所有偶数之前的算法。

    参考答案是:void quickpass(int r[], int s, int t) {int i=s,j=t,x=r[s];while(i<j){while(i<j && r[j]%2==0) j=j-1;  if(i<j) {r[i]=r[j];i=i+1;}while(i<j && r[i]%2==1) i=i+1;  if (i<j) {r[j]=r[i];j=j-1;}}r[i]=x; }

    3、设计判断单链表中元素是否是递增的算法。

    参考答案是:int isriselk(lklist *head) {if(head==0||head->next==0) return(1);elsefor(q=head,p=head->next;p!=0;q=p,p=p->next)if(q->data>p->data) return(0);return(1); }


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

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

    '); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })(); '); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();

    总结

    以上是生活随笔为你收集整理的数据结构试卷及答案(九)的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。