《数据结构》课程第3次作业

合集下载

数据结构-第三次作业(答案)

数据结构-第三次作业(答案)

第三次作业第三章栈和队列一、选择题1. 若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是( D )。

A. i-j-1B. i-jC. j-i+1D. 不确定的2. 若栈采用顺序存储方式存储,现两栈共享空间V[1..m],top[i]代表第i个栈( i =1,2)栈顶,栈1的底在v[1],栈2的底在V[m],则栈满的条件是( AD )。

A. |top[2]-top[1]|=0B. top[1]+1=top[2]C. top[1]+top[2]=mD.top[1]=top[2]3. 栈在( D )中应用。

A. 递归调用B. 子程序调用C. 表达式求值D. A,B,C4. 表达式3* 2^(4+2*2-6*3)-5求值过程中当扫描到6时,对象栈和算符栈为( D ),其中^为乘幂。

A. 3,2,4,1,1;(*^(+*-B. 3,2,8;(*^-C. 3,2,4,2,2;(*^(-D. 3,2,8;(*^(-5. 用链接方式存储的队列,在进行删除运算时( D )。

A. 仅修改头指针B. 仅修改尾指针C. 头、尾指针都要修改D. 头、尾指针可能都要修改6. 假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为( A )。

A.(rear-front+m)%m B.rear-front+1 C.(front-rear+m)%m D.(rear-front)%m7. 栈和队列的共同点是( C )。

A. 都是先进先出B. 都是先进后出C. 只允许在端点处插入和删除元素D. 没有共同点8. 设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个元素出栈后即进队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1则栈S的容量至少应该是( C )。

A. 6 B. 4 C. 3 D. 2二、判断题1.消除递归不一定需要使用栈,此说法(√)2. 栈是实现过程和函数等子程序所必需的结构。

数据结构大作业3

数据结构大作业3

数据结构大作业一、大作业的性质和目的数据结构大作业是对软件设计的综合训练,包括问题分析、总体设计、用户界面设计、程序设计基本技能和技巧,以至一套软件工作规范的训练和科学作风的培养。

在数据结构实验中,完成的只是单一而“小”的算法,而本课程设计是对学生的整体编程能力的锻炼。

数据结构大作业的目的是训练学生对问题的抽象能力和算法的运用能力。

二、大作业安排每位同学独立完成,可自选题目或根据选择后面的一个参考题目来完成。

开学第一周统一提交到教学在线。

提交的内容包括:(1)设计报告文档。

该文档是评分的重要依据之一,请认真对待。

该文档包括如下内容:●需求分析: (陈述要解决的问题,要实现的功能),●详细设计:包括设计算法流程图、算法分析、使用的数据结构(要求详细论证);●软件测试:包括测试数据和测试结果记录●总结:设计过程中遇到的问题及解决方法;尚未解决的问题及考虑应对的策略;收获和心得;(2)源代码。

要求注释清晰,编写规范,模块化。

(3)可运行的exe文件。

要求充分测试,在XP操作系统中能正常运行。

以上内容打包后提交到教学在线。

三、考核和成绩评定老师根据设计文档、源代码和可执行文件,进行判分。

对于出现以下情况的学生,要求统一进行答辩:●执行文件无法正常运行。

●源程序疑似抄袭。

如果有发现两个同学的代码相类似则需要共同出席答辩。

如果判定抄袭,则为不及格。

开发过程可以部分复用网上的开源代码,但必须体现自己的工作,如果没有自己工作的部分,同样判为抄袭。

五、题目(任选其中之一或自拟)1. 数字化校园(1)设计华南理工大学的校园平面图,至少包括10个以上的地点,每两个地点间可以有不同的路,且路长可能不同。

以图中顶点表示校内各地点,存放名称、代号、简介等信息;用边表示路径,存放路径长度等相关信息。

(2)提供图中任意地点相关信息的查询。

(3)提供图中任意地点的问路查询,即查询任意两个地点之间的一条最短路径。

(4)学校要新建一间超市,请为超市选址,实现总体最优。

国家开放大学电大《数据结构》网络课形考任务3作业及答案

国家开放大学电大《数据结构》网络课形考任务3作业及答案

国家开放大学电大《数据结构》网络课形考任务3作业及答案档任务3一、单项选择题(每小题2分,共38分)题目1 假定一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为()。

选择一项: A、47 B、16 C、17 D、15 题目2 二叉树第k层上最多有()个结点。

选择一项: A、2k-l B、2k-l C、2k-l D、2k 题目3 将含有150个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点的编号为1,则编号为69的结点的双亲结点的编号为()。

选择一项: A、36 B、35 C、34 D、33 题目4 如果将给定的一组数据作为叶子数值,所构造出的二叉树的带权路径长度最小,则该树称为()。

选择一项: A、二叉树 B、哈夫曼树 C、完全二叉树 D、平衡二叉树在一棵度具有5层的满二又树中结点总数为( )o 选择一项: A、16 B、3231 D、33 题目6 一棵完全二叉树共有6层,且第6层上有6个结点,该树共有()个结点。

选择一项: A、31 B、37 C、38 D、72 题目7 利用3、6、8、12这四个值作为叶子结点的权,生成一棵哈夫曼树,该树中所有叶子结点中的最长带权路径长度为(在一棵树中,()没有前驱结点。

)、选择一项: A、18 B、16 C、30 D、12 题目8 选择一项: A、树根结点 B、叶结点 C、空结点 D、分支结点题目9 设一棵采用链式存储的二叉树,除叶结点外每个结点度数都为2,该树结点中共有20个指针域为空,则该树有()个叶结点。

选择一项: B、10 C、21 D、22 题目10 在一个图G中,所有顶点的度数之和等于所有边数之和的()倍。

选择一项: A、2 B、1 C、4 D、1/2 题目11 邻接表是图的一种()<、选择一项: A、链式存储结构 B、顺序存储结构C、散列存储结构 D、索引存储结构题目12 图的深度优先遍历算法类似于二叉树的()遍历。

电子科大16秋《数据结构》在线作业3

电子科大16秋《数据结构》在线作业3

电子科技大学电子科大16秋《数据结构》在线作业3一、单选题(共16 道试题,共48 分。

)1. 抽象数据类型的三个组成部分分别为()。

A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型正确答案:2. 已知一棵完全二叉树有64个叶子结点,则该树可能达到的最大深度为()。

A. 7B. 8C. 9D. 10正确答案:3. 已知在一棵度为3的树中,度为2的结点数为4,度为3的结点数为3,则该树中的叶子结点数为()。

A. 5B. 8C. 11D. 18正确答案:4. 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。

假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。

A. q->next=s->next;s->next=pB. s->next=p;q->next=s->nextC. p->next=s->next;s->next=qD. s->next=q;p->next=s->next正确答案:5. 下面程序段的时间复杂度为()。

for (i=0; i<m; i++) for (j=0; j<n; j++) A[i][j]=i*j;A. O (m2)B. O (n2)C. O (m*n)D. O (m+n)正确答案:6. 在数据结构中,数据的逻辑结构可以分成()。

A. 内部结构和外部结构B. 线性结构和非线性结构C. 紧凑结构和非紧揍结构D. 动态结构和静态结构正确答案:7. 在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是()。

A. p=p->nextB. p->next=p->next->nextC. p->next=pD. p=p->next->next;正确答案:8. 采用两类不同存储结构的字符串可分别简称为()。

数据结构第三次作业1

数据结构第三次作业1

数据结构第三次作业补充题环形链表队列的插入和删除函数void en_queue(ptail, x)NODE **ptail;int x;{NODE *p;p=(NODE *)malloc(sizeof(NODE)); p->data=x;if(*ptail==NULL)p->link=p;else{p->link=(*ptail)->link;(*ptail)->link=p;}*ptail=p;}int delete(ptail, px)NODE **ptail;int *px;{NODE *p;if(*ptail==NULL) return(1);p=(*ptail)->link;*px=p->data;if(p==(*ptail))*ptail=NULL;else(*ptail)->link=p->link;free(p);return(0);}1.19void rebuild(phead)NODE **phead;{NODE *p, *q;int s;p=*phead;if(p==NULL)s=0;elses=1;while(p->link!=NULL){p=p->link;s++;}q=(NODE *)malloc(sizeof(NODE));q->data=s;q->link=*phead;p->link=q;*phead=q;}1.20 (1)#define M 1000int t[m];void makenull(t)int t[];{int i;for(i=0;i<M;i++)t[i]=-1;}void storage(t)int t[];{int x,y,i,j,k,m;m=power(2,31);y=568731;for(i=1;i<=800;i++){y=(15625*y+22221)%m;x=1000*y/m;for(j=0;t[(x+j)%M]!=x&&t[{x+j}%M]>=0;j++);k=(x+j)%M;if(t[k]<0)t[k]=x;}}1.21int depth(p)NODE *p;{int dep, max;if(p==NULL)return 0;max=0;while(p!=NULL){if(p->tag){dep=depth(p->dd.dlink);if(dep>max)max=dep;}p=p->link;}return max+1;}2.1#define MAXL 100#include “stdio.h”char s[MAXL], t[MAXL];void costring(s,t,n,m) char s[], t[];int n, m;{int i,j,k,length1;int index, length;index=0;length=0;i=0;while(i<n){j=0;while(j<m){if(s[i]==t[j]){length1=1;for(k=1;s[i+k]==t[j+k];k++)length1++;if(length1>length){index=i;length=length1;}}j++;}i++;}printf(“longest substring is:”); for(i=0;i<length;i++)printf(“%c”,s[index+i]);}2.2#define M 100typedef struct node{char c[4];struct node *link;} NODE;NODE *s1;char s2[M];NODE *search(s, i, pj)NODE *s;int i, *pj;{int k, l;NODE *p;k=0;p=s;while(k<i){if(p==NULL) return (NULL);for(l=0; l<4&&k<i; l++)if(p->c[l]!=’#’)k++;if(k<i)p=p->link;}*pj=l;return p;}int strins(s1, i , s2)NODE *s1;char s2[];int i;{NODE *p, *q, *r, 8h;int j, k;j=0;if(s2[j]==’\0’) return (0);r=NULL;while(s2[j]!=’\0’){q=(NODE *)malloc(sizeof(NODE));for(k=0;k<4&&s2[j]!=’\0’;k++)q->c[k]=s2[j++];while(k<4)q->c[k++]=’#’;if(r==NULL)r=p=q;else{p->link=q;p=q;}}q->link=NULL;//if(!(p=search(s1, i, &j))) return(1);//if(j!=0){h=(NODE *)malloc(sizeof(NODE));for(k=0; k<j; k++)h->c[k]=’#’;for(k=j; k<4; k++){h->c[k]=p->c[k];p->c[k]=’#’;}h->link=p->link;}q->link=h;p->link=r;return(0);}2. 3int strdel(s, i, j)NODE *s;int i, j;{NODE *p, *q;int k, l;if(!(p=search(s, i, &k))) return(1);if(k!=0){for(l=k; l<4&&j>0; l++)if(p->c[l]!=’\0’&&p->c[l]!=’#’){p->c[l]=’#’;j--;}else if(p->c[k]==’\0’)return (1);}//if(!(q=search(p->link, j, &k))) return(1);//p->link=q;if(k!=0)for(l=0; l<k; l++)q->c[l]=’#’;return (0);}2.42.5一开始,两个语句,O(1);while外循环,执行n次,O(n);while内循环,取决于j。

2021数据结构作业3 树与二叉树 参考答案

2021数据结构作业3 树与二叉树 参考答案

2021数据结构作业3 树与二叉树参考答案2021数据结构作业3-树与二叉树-参考答案作业3.树非编程作业:1.请分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。

参考答案:具备3个结点的树:具有3个结点的二叉树:2.未知二叉树的先序结点序列就是eabdcfhgikj,中序结点序列就是abcdefghijk,请构造二叉树,并写出其层次遍历序列和后序遍历序列。

参考答案:eaf层次:eafbhdgickjbh后序---cdbagjkihfedcgikj3.将下图所示的森林转换成一棵二叉树。

agkbcdhijlef参考答案:转换成的二叉树为:abcdghikljef4.将下图所示的二叉树还原成树或森林。

abcdlfeghmknji参考答案:切换为森林:aegbcdfhijlmnk5.假设用于通信的电文由7个字母组成{a,b,c,d,e,f,g},字母在电文中出现的频率分别为0.17、0.09、0.12、0.06、0.32、0.03、0.21。

精义这7个字母设计哈夫曼编码,并排序其有向路径长度wpl。

参考答案:哈夫曼树为:0.1810.39g0.610.210.290.32e0.17a0.090.09b0.12wpl=4*(0.03+0.06)+3*(0.12+0.17+0.09)+2*(0.32+0.21)=2.56a:101b:001c:100d:0001e: 11f:0000g:01编程作业:二叉树采用二叉链表存储,试设计算法实现:1.createbt(bitree&t):从键盘输入二叉树的先序结点序列字符串(以”#”代表空结点),创建其二叉链表;如输入:ab#d##ce#f###则建立如下图所示二叉树的二叉链表2.exchangebt(bitreet):设计递归算法实现二叉树中所有结点的左右孩子交换;3.countleaf(bitreet,telemtypex,int&count):统计数据以值x的结点为根的子树中叶子结点的数目;4.dispbitree(bitreet,intlevel):按树状打印二叉树。

数据结构 ( 第3次 )

数据结构 ( 第3次 )

第3次作业一、填空题(本大题共10分,共 5 小题,每小题 2 分)1. 多重表文件和倒排文件都归属于 ______ 文件。

2. 数据结构被形式地定义为(D, R),其中D是 ______ 的有限集合,R是D上的 ______ 有限集合。

3. 在栈的出栈操作中,要先判断栈是否空,否则会产生 ______ 现象。

4. 在n个结点的单链表中要删除已知结点*p,需找到它的 ______ ,其时间复杂度为 ______ 。

5. 已知一个图的广度优先生成树如右图所示,则与此相应的广度优先遍历序列为 ______ 。

二、程序阅读题(本大题共40分,共 5 小题,每小题 8 分)1. 求下列广义表运算的结果:head ((p,h,w))。

2. 指出下述程序段的功能是什么?SeqStack S1, S2, tmp;DataType x; ...//假设栈tmp和S2已做过初始化while ( ! StackEmpty (&S1)){ x=Pop(&S1) ;Push(&tmp,x); }while ( ! StackEmpty (&tmp) ){ x=Pop( &tmp);Push( &S1,x);Push( &S2, x); }3. 写出下列程序段的输出结果(栈的元素类型SElem Type为char)。

void main( ){ Stack S; Char x,y; InitStack(S); X=’c’;y=’k’; Push(S,x); Push(S,’a’); Push(S,y); Pop(S,x); Push(S,’t’); Push(S,x);Pop(S,x); Pus h(S,’s’); while(!StackEmpty(S)){ Pop(S,y);printf(y); }; Printf(x); }4. 下述算法的功能是什么? LinkList Demo(LinkList L){ // L 是无头结点单链表 ListNode *Q,*P; if(L&&L->next){ Q=L;L=L->next;P=L; while (P->next) P=P->next; P->next=Q; Q->next=NULL; } return L; }// Demo5. 阅读下列C程序段,写出相应的执行结果题目:long int fact(n) int n; {long f; if(n>1)f=n*fact(n-1); else f=1; return(f); } main() {int n; long y; n=5; y=fact(n); printf(“%d,%ld\n”,n,y); }三、简答题(本大题共20分,共 4 小题,每小题 5 分)1. 链栈中为何不设置头结点?2. 什么是程序的空间复杂度?3. 以关键字序列(265,301,751,129,937,863,742,694,076,438)为例,写出执行快速排序算法的各趟排序结束时,关键字序列的状态。

9月份考试数据结构第三次作业

9月份考试数据结构第三次作业

SubString 的函数。 4. 设顺序表中关键字是递增有序的,试写一顺序查找算法,将哨兵设在表的高 下标端。然后求出等概率情况下查找成功与失败时的 ASL。
答案:
一、填空题(10 分,共 5 题,每小题 2 分)
1. 参考答案: 逻辑结构,存储结构 解题方案:
评分标准: 每空 2 分 2. 参考答案: 前趋 解题方案:
四、简答题(20 分,共 4 题,每小题 5 分)
1. 参考答案: 判别循环队列的"空"或"满"不能以头尾指针是否相等来确定,一般ห้องสมุดไป่ตู้通过以下
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷编保工写护况复层进杂防行设腐自备跨动与接处装地理置线,高弯尤中曲其资半要料径避试标免卷高错调等误试,高方要中案求资,技料编术试写交5、卷重底电保要。气护设管设装备线备置高敷4、调动中设电试作资技气高,料术课中并试3中、件资且卷包管中料拒试含路调试绝验线敷试卷动方槽设技作案、技术,以管术来及架避系等免统多不启项必动方要方式高案,中;为资对解料整决试套高卷启中突动语然过文停程电机中气。高课因中件此资中,料管电试壁力卷薄高电、中气接资设口料备不试进严卷行等保调问护试题装工,置作合调并理试且利技进用术行管,过线要关敷求运设电行技力高术保中。护资线装料缆置试敷做卷设到技原准术则确指:灵导在活。分。对线对于盒于调处差试,动过当保程不护中同装高电置中压高资回中料路资试交料卷叉试技时卷术,调问应试题采技,用术作金是为属指调隔发试板电人进机员行一,隔变需开压要处器在理组事;在前同发掌一生握线内图槽部纸内故资,障料强时、电,设回需备路要制须进造同行厂时外家切部出断电具习源高题高中电中资源资料,料试线试卷缆卷试敷切验设除报完从告毕而与,采相要用关进高技行中术检资资查料料和试,检卷并测主且处要了理保解。护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

中南大学《数据结构》课程作业(在线作业)三及参考答案

中南大学《数据结构》课程作业(在线作业)三及参考答案
(C) 40, 38,46, 56, 79, 84
(D) 40, 38, 46, 84, 56, 79
参考答案:
(C)
24.
对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列进行同样的排序操作,直到子序列为空或只剩下一个元素为止。这样的排序方法是()。
(A)直接选择排序(B)直接插入排序(C)快速排序(D)冒泡排序
参考答案:
(C)
5.
快速排序在下列哪种情况下最易发挥其长处()。
(A)被排序的数据中含有多个相同排序码
(B)被排序的数据已基本有序
(C)被排序的数据完全无序
(D)被排序的数据中的最大值和最小值相差悬殊
参考答案:
(C)
6.
能进行二分查找的线性表,必须以()。
(A)顺序方式存储,且元素按关键字有序
(B)链式方式存储,且元素按关键字有序
(一)单选题
1.
堆是一种()排序。
(A)插入(B)选择(C)交换(D)归并
参考答案:
(B)
2.
用某种排序方法对关键字序列进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则采用的方法是()。
(C)顺序方式存储,且元素按关键字分块有序
(D)链式方式存储,且元素按关键字分块有序
参考答案:
(A)
7.
为使平均查找长度达到最小,当由关键字集合构建二叉排序树时,第一个插入的关键字应为()。
(A) 5 (B) 37 (C) 41 (D) 62
参考答案:
(B)
8.

2013年9月份考试数据结构第三次作业

2013年9月份考试数据结构第三次作业

2013年9月份考试数据结构第三次作业一、填空题(本大题共30分,共 15 小题,每小题 2 分)1. 由3个结点所构成的二叉树有 ______ 种形态。

2. 对不同的关键字可能得到同一哈希地址,即key1!=key2,而f(key1)=f(key2),这种现象称为 ______ 。

具有相同函数值的关键字对该哈希函数来说称作_____________。

3. 在AOE网中,路径长度最长的路径叫做 ______ 。

4. 在一个循环队列中,队尾指针指向队尾元素的 ______ 位置。

5. 构造最小生成树的方法主要有: ______ 和 ______ 。

6. 带表头结点的空循环双向链表的长度等于 ______ 。

7. 为了实现逐层访问,算法中使用了一个 ______ ,以记忆正在访问的这一层和上一层的顶点,以便于向下一层访问。

8. 顺序表中逻辑上相邻的元素的物理位置 ______ 相邻。

单链表中逻辑上相邻的元素的物理位置 ______ 相邻。

9. 二叉树的基本组成部分是:根(N)、左子树(L)和右子树(R)。

因而二叉树的遍历次序有六种。

最常用的是三种:前序法(即按N L R次序),后序法(即按 ______ 次序)和中序法(也称对称序法,即按L N R次序)。

这三种方法相互之间有关联。

若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是 ______ 。

10. 基数排序法、堆排序法与归并排序法中, ______ 排序方法需要的辅助存储单元最少。

11. 在串S=“structure”中,以t为首字符的子串有 ______ 个12. 邻接多重表是 ______ 的另一种链式存储结构。

13. 快速排序算法在最坏情况下的时间复杂度为 ______ 。

14. 线性表具有两种存储方式,即顺序方式和链接方式。

现有一个具有五个元素的线性表L={23,17,47,05,31},若它以链接方式存储在下列100~119号地址空间中,每个结点由数据(占2个字节)和指针(占2个字节)组成,如下所示: 05U17X23V31Y47Z^^100120其中指针X,Y,Z的值X= ______ Y= ______ Z= 该线性表的首结点起始地址为多少?末结点的起始地址为首址= ______ 末址= ______15. AOV网络用 ______ 表示活动,用 ______ 表示活动间的优先关系。

数据结构第三次作业(12.6)

数据结构第三次作业(12.6)

难度系数及复杂系数说明:难度系数从易到难分别为:N1、N2、N3、N4、N5复杂系数从简到繁分别为:F1、F2、F3、F4、F5数据结构第三阶段作业第6章树和二叉树6.1 单项选择题1. 由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法_B___。

(N2F1)A. 正确B. 错误2. 假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为 B 个。

(N2F1)A.15 B.16 C.17 D.473. 按照二叉树的定义,具有3个结点的不同形状的二叉树有__C__种。

(N2F1)A. 3B. 4C. 5D. 64. 按照二叉树的定义,具有3个不同数据结点的不同的二叉树有__C__种。

(N3F1)A. 5B. 6C. 30D. 325. 深度为5的二叉树至多有__C__个结点。

(N2F1)A. 16B. 32C. 31D. 106. 设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为_ _A__。

(N3F1)A. 2hB. 2h-1C. 2h+1D. h+17. 对一个满二叉树,m个树叶,n个结点,深度为h,则_D___ 。

(N3F1)A. n=h+mB. h+m=2nC. m=h-1D. n=2 h-18. 任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序__A__。

(N3F1)A.不发生改变B.发生改变C.不能确定D.以上都不对9. 如果某二叉树的前根次序遍历结果为stuwv,中序遍历为uwtvs,那么该二叉树的后序为_C___。

(N3F1)A. uwvtsB. vwutsC. wuvtsD. wutsv6.2 简答题1. 根据二叉树的定义,具有三个结点的二叉树有5种不同的形态,请将它们分别画出。

(N2F3)2. 假设一棵二叉树的先序序列为EBADCFHGIKJ和中序序列为ABCDEFGHIJK。

(N3F2)请画出该树。

数据结构三次作业答案

数据结构三次作业答案

第三阶段离线作业第七章 图7.1 已知图7.1所示的有向图,请给出该图的⑴ 每个顶点的入/出度;⑵ 邻接矩阵; ⑶ 邻接表;⑷ 逆邻接表;图7.1 (1)(2)A= 0 1 0 0 0 10 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 1 0(3)→ →→ → → → → → → → (4)→ → → → →→ → → →7.2 用深度优先搜索和广度优先搜索对图7.2进行遍历(从顶点1出发),给出遍历序列。

图7.2深度优先1→2→4→8→5→3→6→7广度优先1→2→3→4→5→6→7→8第九章查找9.1 画出长度为10的有序表进行折半查找的判定树,并求其等概率时查找成功的平均查找长度。

等概率时查找成功的平均查找长度:ASL succ=(1*1+2*2+3*4+4*3)/10=2.99.2 假设按下述递归方法进行顺序表的查找:若表长≤10,则进行顺序查找,否则进行折半查找。

试画出对表长n=50的顺序表进行上述查找时,描述该查找的判定树,并求出在等概率情况下查找成功的平均查找长度。

ASL succ=(1*1+2*2+3*4+(4+5+6+7+8)*8+9*3)/50=5.689.3 设有一组关键字{19,01,23,14,55,20,84,27,68,11,10,77},采用哈希函数:H(key)=key%13构造哈希表。

⑴采用开放地址法的线性探测再散列方法解决冲突。

⑵采用开放地址法的二次探测再散列方法解决冲突。

⑶采用开放地址法的随机探测再散列方法解决冲突。

⑷采用链地址法解决冲突。

哈希列表012345678910111213关键字011455276819208423111077(2)哈希列表0123456789101112关键字270114556884192010231177(3)哈希列表0123456789101112关键字840155142768192010231177(4)哈希列表0123456789101112指针015519202311771468841027第十章内部排序10.1 已知序列{503,87,512,61,908,170,897,275,653,462},请给出采用快速排序法对该序列作升序排序时的每一趟结果。

数据结构第三次作业

数据结构第三次作业

第三次作业一、选择题1、在按行优先顺序存储的三元组表中,下述陈述错误的是 D 。

A. 同一行的非零元素,是按列号递增次序存储的B. 同一列的非零元素,是按行号递增次序存储的C. 三元组表中三元组行号是非递减的D. 三元组表中三元组列号是非递减的2、在稀疏矩阵的三元组表示法中,每个三元组表示 D 。

A. 矩阵中非零元素的值B. 矩阵中数据元素的行号和列号C. 矩阵中数据元素的行号、列号和值D. 矩阵中非零数据元素的行号、列号和值3、对特殊矩阵采用压缩存储的目的主要是为了 D 。

A. 表达变得简单B. 对矩阵元素的存取变得简单C. 去掉矩阵中的多余元素D. 减少不必要的存储空间4、广义表是线性表的推广,它们之间的区别在于 A 。

A. 能否使用子表B. 能否使用原子项C. 表的长度D. 是否能为空5、已知广义表(a, b, c, d)的表头是 A,则表尾是 D ;A. aB. ()C. (a, b, c, d)D. (b, c, d)//第一个元素为表头,其余元素组成的表为表尾6、下面说法不正确的是 A 。

A. 广义表的表头总是一个广义表B. 广义表的表尾总是一个广义表C. 广义表难以用顺序存储结构表示D. 广义表可以是一个多层次的结构7、若广义表A满足Head(A)=Tail(A),则A为 B 。

A. ( )B. (())C. (( ),( ))D. (( ), ( ), ( ))8、在一棵树中,如果结点A有3个兄弟,B是A的双亲,则B的度为 DA. 1B. 2C. 3D. 4//双亲即父节点9、深度为h的完全二叉树至少有 D 个结点,至多有 B 个结点A. 2hB. 2h-1C. 2h+1D. 2h-1//满二叉树是完全二叉树结点最多的情况10、具有n个结点的满二叉树有个叶结点。

A. n/2B. (n-1)/2C. (n+1)/2D. n/2+1//n个结点的满二叉树深度:(2^h)-1=n, 叶结点的个数:x=2^(h-1)=(2^h)/2//所以,x=(n+1)/211、一棵具有25个叶结点的完全二叉树最多有个结点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题
1、一个栈的输入序列为:a,b,c,d,e,则栈的不可能输出的序列是( C )。

A. a,b,c,d,e
B. d,e,c,b,a
C. d,c,e,a,b
D. e,d,c,b,a
2、判断一个循环队列Q(最多n个元素)为满的条件是(C )。

A. Q->rear==Q->front
B. Q->rear==Q->front+1
C. Q->front==(Q->rear+1)%n
D. Q->front==(Q->rear-1)%n
3、设计一个判别表达式中括号是否配对的算法,采用( D )数据结构最佳。

A. 顺序表
B. 链表
C. 队列
D. 栈
4、判断一个循环队列Q(空间大小为M)为空的条件是( A)。

A. Q->front==Q->rear
B. Q->rear-Q->front-1==M
C. Q->front+1=Q->rear
D. Q->rear+1=Q->front
5、设计一个判别表达式中左右括号是否配对出现的算法,采用( C )数据结构最佳。

A. 线性表的顺序存储结构
B. 队列
C. 栈
D. 线性表的链式存储结构
6、当用大小为N的数组存储顺序循环队列时,该队列的最大长度为( C )。

A. N
B. N+1
C. N-1
D. N-2
7、队列的删除操作是在( A )。

A. 队首
B. 队尾
C. 队前
D. 队后
8、若让元素1,2,3依次进栈,则出栈次序不可能是( C )。

A. 3,2,1
B. 2,1,3
C. 3,1,2
D. 1,3,2
9、循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( A )。

A. (rear-front+m)%m
B. rear-front+1
C. rear-front-1
D. rear-front
10、栈和队列都是( C )。

A. 链式存储的线性结构
B. 链式存储的非线性结构
C. 限制存取点的线性结构
D. 限制存取点的非线性结构
二、填空题
1、设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1,则栈的容量至少应该是 3 。

2、在具有n个元素的循环队列中,队满时具有 n-1 个元素。

3、设循环队列的容量为70,现经过一系列的入队和出队操作后,front为20,rear为11,则队列中元素的个数为 61 。

相关文档
最新文档