77范文网 - 专业文章范例文档资料分享平台

数据结构复习题及参考答案(2)

来源:网络收集 时间:2018-11-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

72.由同一关键字集合构造的各棵二叉排序树【 】 A.其形态不一定相同,但平均查找长度相同

B.其形态不一定相同,平均查找长度也不一定相同 C.其形态均相同,但平均查找长度不一定相同 D.其形态均相同,平均查找长度也都相同 73.ISAM文件和VSAM文件的区别之一是【 】 A.前者是索引顺序文件,后者是索引非顺序文件 B.前者只能进行顺序存取,后者只能进行随机存取 C.前者建立静态索引结构,后者建立动态索引结构 D.前者的存储介质是磁盘,后者的存储介质不是磁盘 74.下列描述中正确的是【 】

A.线性表的逻辑顺序与存储顺序总是一致的

B.每种数据结构都具备三个基本运算:插入、删除和查找 C.数据结构实质上包括逻辑结构和存储结构两方面的内容 D.选择合适的数据结构是解决应用问题的关键步骤 75.下面程序段的时间复杂度是【 】 I=s=0

While(s

A.O(1) B.O(n) C.O(log2n) D.O(n^2)

三、计算与算法应用题:

1.已知一个图的顶点集V和边集E分别为: V={1,2,3,4,5,6,7};

E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25};

按照普里姆算法从顶点1出发得到最小生成树,试写出在最小生成树中依次得到的各条边。

2.一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来。试求出空格处的内容,并画出该二叉树。

先序序列: B F ICEH G 中序序列:D KFIA EJC 后序序列: K FBHJ G A

第6页共22页

3.画出下列树对应的二叉树,并写出其先根遍历序列:

A

B C

D F E

G

4.将关键字序列为{54,29,37,86,71,91,8,31,44,26}进行归并排序,写出各趟详细过程。 5.试列出如下图中全部可能的拓扑排序序列。

123456 6.设某通信系统使用A,B ,C,D,E,F,G,H八个字符,他们出现的概率w={5,29,7,8,14,23,3,11},试构造对应的哈夫曼树(请按左子树根结点的权小于右子树树根结点的权的次序构造)。

7.给定表(119,14,22,1,66,21,83,27,56,13,10),请按表中元素的顺序构造一棵平衡二叉树,并求其在等概率情况下查找成功的平均长度。

8.已知一个有向图的顶点集V和边集G分别为:V={a,b,c,d,e,f,g,h}

E={,,,,,,,,,};

假定该图采用邻接矩阵表示,则分别写出从顶点a出发进行深度优先搜索遍历和广度优先搜索遍历得到的顶点序列。

9.设散列表的长度为13,散列函数为H(h)= k,给定的关键码序列为19,14,23,01,68,20,84,27。试画出用线性探查法解决冲突时所构成的散列表。

0 1 2 3 4 5 6 7 8 9 10 11 12 10.对7个关键字进行快速排序,在最好的情况下仅需进行10次关键字的比较。 (1)假设关键字集合为{1,2,3,4,5,6,7},试举出能达到上述结果的初始关键字序列; (2)对所举序列进行快速排序,写出排序过程。 11.如图所示二叉树,回答下列问题。

12.画出在一个初始为空的AVL树中依次插入3,1,4,6,9,8,5,7时每一插入后AVL树的形态。若做了某种旋转,说明旋转的类型。然后,给出在这棵插入后得到的AVL树中删去根结点后的结果。 13.已知一组记录的排序码为( 46 , 79 , 56 , 38 , 40 , 80 , 95 , 24 ),写出对其进行快速排序的每一次划分结果。

14.一个线性表为 B= ( 12 , 23 , 45 , 57 , 20 , 03 , 78 , 31 , 15 , 36 ),设散列表为 HT[0..12] ,散列函数为 H ( key ) = key % 13 并用线性探查法解决冲突,请画出散列表,并计算等概率情况下查找成功的平均查找长度。

15.已知一棵二叉树的前序遍历的结果序列是 ABECDFGHIJ ,中序遍历的结果是 EBCDAFHIGJ ,试写出这

第7页共22页

棵二叉树的后序遍历结果。

16.假定对线性表(38,25,74,52,48,65,36)进行散列存储,采用H(K)=K%9作为散列函数,若分别采用线性探查法和链接法处理冲突,则计算对应的平均查找长度。

四、阅读下列算法,分析它的作用: 1.int AA(LNode *HL , ElemType x) {

int n=0; LNode *p=HL;

while (p!=NULL) {

if (p->data= =x) n++; p=p->next;

}

return n; }

对于结点类型为LNode的单链表,以上算法的功能为: 2.int AA(LNode *HL , ElemType x) {

int n=0; LNode *p=HL;

while (p!=NULL) {

if (p->data= =x) n++; p=p->next;

}

return n; }

对于结点类型为LNode的单链表,以上算法的功能为:

3.假定从键盘上输入一批整数,依次为:78 63 45 30 91 34 # include < iostream.h> # include < stdlib.h >

const int stackmaxsize = 30; typedef int elemtype; struct stack {

elemtype stack [stackmaxsize]; int top;

};

# include “stack.h” void main 【 】 {

stack a;

initstack(a); int x; cin >>x;

while (x! = -1) { push (a, x ); cin >>x;

第8页共22页

–1,请写出输出结果。

}

while (!stackempty (a)) cout <

}

该算法的输出结果为:

__________________________________________________________. 4.读下述算法,说明本算法完成什么功能。

template void BinTree ::

unknown (BinTreeNode*t) { BinTreeNode< Type> *p =t, *temp; if (p!=NULL) {

temp = p→leftchild;

p→leftchild = p→rightchild; p→rightchild = temp; unknown(p→leftchild); undnown(p→rightchild); } } // 类定义 该算法的功能是:________________________________ const int MAX=20; 5.阅读下列算法,说明该算法的作用。 typedef char ElemType ; void Sqstack::push(ElemType x ) class Sqstack { if ( top==MAX-1 ) { private: cout<<”\\n 满!”; ElemType elem [MAX]; else { top++; int top ; elem[top]=x; public: } Sqstack(){top=0}; } // push ElemType pop(); void push(ElemType x); //…….; } ; struct Snode //结点结构 { char data; 6.有如下图所示单链表,经过output()算法处理后, Snode *next ; 单链表发生了什么变化 ?画出处理后的单链表图示。 } ; void Link :output() class Link //链表类 { p=Head->next; { private: while( p !=NULL) Snode *Head; { cout<<”\\n data=”<data ; public: p=p->next; Link (){Head =NULL}; } void creat(); Head a } //output

第9页共22页

b c d e ^ void output(); //…….; 7.阅读下列算法,说明该算法的作用。 int LinkList::sum【 】

{ int x;NodeType *p;p=Head->next; while(p!=NULL)

{ x++;

p=p->next; }

return x; } // pop

8.读下述算法,说明本算法完成什么功能。

void Btree ::inordern( bnode *p, int &n )

{ if ( p!=NULL)

{ inordern( p->lch, n);

if ( p->lch==NULL && p->rch==NULL) n++; inordern( p->rch, n); } } // inordern

9.void AD(Lnode* & HL) {

Insert(HL,30); Insert(HL,50); Delete(HL,26); Delete(HL,55); }

假定调用该算法时以HL为表头指针的单链表中的内容为(15,26,48,55),则调用返回后该单链表中的内容为:______________________________。 10.

void AI(adjmatrrix GA,int i,int n) {

cout<

// 类定义 for(int j=0;j

const int MAX=20; if(Ga[I][j]! =0&& GA[i][j]! =MaxValue&& ! visited[j]) typedef char ElemType ; AI(GA,j,n);

class Sqstack }

{ private: 该算法的功能为:

ElemType elem [MAX]; ___________________________________。

int top ;

public: 11.阅读下列算法,说明该算法的作用。

Sqstack(){top=0}; ElemTtype Sqstack::pop【 】

ElemType pop(); { ElemType x;

void push(ElemType x); if ( top==0 ) x=-999;

//…….; else { x = elem[top];

} ; top--;

} return x;

} // pop

第10页共22页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据结构复习题及参考答案(2)在线全文阅读。

数据结构复习题及参考答案(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/296940.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: