数据结构练习.docx

上传人:b****9 文档编号:26313943 上传时间:2023-06-17 格式:DOCX 页数:12 大小:89.43KB
下载 相关 举报
数据结构练习.docx_第1页
第1页 / 共12页
数据结构练习.docx_第2页
第2页 / 共12页
数据结构练习.docx_第3页
第3页 / 共12页
数据结构练习.docx_第4页
第4页 / 共12页
数据结构练习.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据结构练习.docx

《数据结构练习.docx》由会员分享,可在线阅读,更多相关《数据结构练习.docx(12页珍藏版)》请在冰豆网上搜索。

数据结构练习.docx

数据结构练习

 填空题 

1. 在顺序表中访问任意一个元素的时间复杂度均为  O

(1)     ,因此顺序表也称为   随机存取   的数据结构。

2.二维数组a[4][3](下标从0开始),假设a[0][0]的地址为50,数据以行序优先方式存储,每个元素的长度为2字节,则a[2][1]地址是      64        。

3. 直接插入排序用监视哨的作用是  防止数组下标越界 。

4. 已知广义表Ls=(a,(b,c),(d,e)), 运用head和tail函数取出Ls中的原子d的运算是       Head(Head(Tail(Tail(LS))))       。

5.对有14个元素的有序表A[1..14]进行折半查找,当比较到A[4]时算法结束。

被比较元素除A[4]外,还有       A[3]     A[5]     A[7]       。

6. 在AOV网中,顶点表示 活动  ,边表示 活动之间的先后关系  。

     

7. 有向图G可进行拓扑排序的判别条件是  有向无环图  。

8. 若串S1=‘ABCDEFGHIJK’,S2=‘451223’,S3=‘####’,则执行Substring(S1,Strlength(S3),Index(S2,‘12’,1))的结果是  DEF  。

选择题

1. 在下列存储形式中,哪一个不是树的存储形式?

(D )

A.双亲表示法           B.孩子链表表示法       

C.孩子兄弟表示法       D.顺序存储表示法 

2. 查找n个元素的有序表时,最有效的查找方法是( C )。

A.顺序查找                B.分块查找       

C.折半查找                D.二叉查找

3.将所示的s所指结点加到p所指结点之后,其语句应为( D  )。

A.s->next=p+1;p->next=s;

B.(*p).next=s;(*s).next=(*p).next;

C.s->next=p->next;p->next=s->next;

D.s->next=p->next;p->next=s;

4. 在有向图的邻接表存储结构中,顶点v在链表中出现的次数是( C )。

A. 顶点v的度             B. 顶点v的出度    

C. 顶点v的入度           D. 依附于顶点v的边数

5.算法的时间复杂度为O(nlog2n)、空间复杂度为O

(1)的排序算法是( A )。

A. 堆排序        B. 快速排序     

C. 归并排序     D.直接选择

1.设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分(如右图所示)按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素ai,j(i≤j), 在一维数组B中下标k的值是(  B):

A.i(i-1)/2+j-1        B.i(i-1)/2+j    

C.i(i+1)/2+j-1        D.i(i+1)/2+j 

2.由一个长度为11的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下,查找成功的平均查找长度是( C )。

A.29/11     B.31/11     

 C.33/11      D.35/11

3. AVL树是一种平衡的二叉排序树,树中任一结点的( B  )。

A. 左、右子树的高度均相同        

B. 左、右子树高度差的绝对值不超过1

C. 左子树的高度均大于右子树的高度

D. 左子树的高度均小于右子树的高度

4.  下列四种排序方法中,不稳定的方法是( D )。

A. 直接插入排序                   B. 冒泡排序

C. 归并排序                         D. 堆排序

5. 设树的度为4,其中度为1,2,3,4的结点个数分别为4,2,,1,1, 则T中的叶子数为( D  )。

A.5          B.6           C.7           D.8

判断题

1. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。

(F )

2.  数组不适合作任何二叉树的存储结构。

( F )

3.  广义表的取表尾运算,其结果通常是个表,但有时也可是个原子。

( F )

4.  在含有n个结点的树中,边数只能是n-1条。

( T)

5.  所谓一个排序算法是否稳定,是指该算法在各种情况下的效率是否相差不大。

( F )

6.  简单选择排序在最好情况下的时间复杂度为O(n)。

(F )

7.  在二叉排序树中插入一个新结点,总是插入到叶结点下面。

(F  )

8.  采用线性探测处理冲突,当从哈希表中删除一个记录时,不应将该记录所在位置置空,因为这会影响以后的查找。

(T )

9.  n个数存放在一维数组A[1..n]中,在进行顺序查找时,这n个数的排列有序或无序,其平均查找长度不同。

(  F)

10.广义表中原子个数即为广义表的长度。

( F )

将下列由三棵树组成的森林转换为二叉树。

 

 

给定下列图,完成以下问题

(1)画出该图的邻接矩阵和邻接表

(2)根据所画的邻接表,从顶点B出发,画出图的深度优先搜索树

(3)根据普里姆(Prim)算法,求它的最小生成树(不必写出全部过程,在生成树中标出边生成的次序即可)

 

(1) 邻接矩阵:

邻接表:

(2) 深度优先搜索树为:

(3)最小生成树:

输入一个正整数序列(53,17,12,66,58,70,87,25,56,60),试完成下列各题:

(1)构造一棵二叉排序树,计算查找成功的平均查找长度;

(2)依此二叉排序树,如何得到一个从大到小的有序序列;

(3)画出在此二叉排序树中,删除“66”后的树结构。

(1)二叉排序树如下:

 

平均查找长度ASL=(1+2X2+4X3+3X4)/10=2.9

(2)按照右子树根节点左子树的顺序遍历该二叉树,即可得到从大到小的顺序

(3)

将序列{25,34,12,7,15,47,65,79,47+,16 }中的关键字按升序重新排列,请写出

(1)冒泡排序一趟扫描的结果

(2)以第一个元素为分界点的快速排序一趟扫描的结果

(3)堆排序所建的初始堆和第一趟排序结果。

(1)25、12、7、15、34、47、65、47+、16、79

(2)16、15、12、7、25、47、65、79、47+、34

(3)初始堆:

79、47+、65、34、16、47、12、7、25、15

 第一趟排序后:

65、47+、47、34、16、15、12、7、25、79

  (最好划出二叉树表示)

 程序填空题

 下列算法是建立单链表的算法,请填写适当的语句,完成该功能。

 

typedefstructLnode{

     ElemType     data;     

     structLnode  *next;   

}LNode,*LinkList;

 

StatusCreatList_L(LinkList&L,intn){

  //正序输入n个元素的值,建立带表头结点的单链线性表L

   L=(LinkList)malloc(sizeof(LNode));

   if(!

L)returnERROR;        

   L->next=NULL;

   p=  

(1)     ;        

   for(i=0;i

     s=(LinkList)malloc(sizeof(LNode));     

          if(!

s)returnERROR;

          scanf(&s->data);                    

         

(2)     ;

              (3)     ;                               

   }

   p->next=NULL;  

   returnOK;

}//CreatList_L

1.  L

2.  p->next=s

3.  p=s

用链表实现的简单选择排序。

设链表头指针为L, 链表无头结点,请填写适当的语句,完成该功能。

 

voidSelectSort(LinkListL)

{

         p=L;

         while(p)

{

                   q=p;r=q->next; 

                   while(r)

                   {

                            if(   

(1)      )  q=r;

                            r=   

(2)      ;

                   }

                   tmp=q->data;q->data=p->data;p->data=tmp;

                   p=    (3)   ;

         }

}

1.        q->data>r->data

2.        r->next

3.        p->next

1.栈和队列的共同特点是(  A  )。

A.只允许在端点处插入和删除元素

B.都是先进后出   

C.都是先进先出

D.没有共同点

2.用链接方式存储的队列,在进行插入运算时( D  ).

     A. 仅修改头指针

     B. 头、尾指针都要修改

    C. 仅修改尾指针              

D.头、尾指针可能都要修改

3.以下数据结构中哪一个是非线性结构?

( D  )

        A. 队列     B. 栈        C. 线性表    D. 二叉树

4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?

脚注(10)表示用10进制表示( C )。

  

        A.688          B.678        C.692        D.696

5.树最适合用来表示(  C   )。

  A.有序数据元素                      B.无序数据元素

   C.元素之间具有分支层次关系的数据    D.元素之间无联系的数据

1.    二叉树的第k层的结点数最多为( D ).

     A.2k-1       B.2K+1      

C.2K-1  D.2k-1

2.     若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为(   D   )

  A.1,2,3                                              B.9,5,2,3

  C.9,5,3                                              D.9,4,2,3

3. 对n个记录的文件进行快速排序,所需要的辅助存储空间大致为( C )

       A.O

(1)   B.O(n)    

C.O(1og2n)    D.O(n2)

4. 对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K%9作为散列函数,则散列地址为1的元素有( D )个,

        A.1         B.2           C.3           D.4

5.     设有6个结点的无向图,该图至少应有(   A  )条边才能确保是一个连通图。

A.5       B.6         C.7      D.8

请画出下图的邻接矩阵和邻接表。

(注意:

最好从编号大的开始写起)

画出向小根堆中加入数据4,2,5,8,3时,每加入一个数据后堆的变化。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1