资源描述
形考作业一
题目1
把数据存储到计算机中,并具体体现数据元素间得逻辑结构称为( )。
选择一项:
A、 逻辑结构
B、 给相关变量分配存储单元
C、 算法得具体实现
D、 物理结构
题目2
下列说法中,不正确得就是( )。
选择一项:
A、 数据可有若干个数据元素构成
B、 数据元素就是数据得基本单位
C、 数据项就是数据中不可分割得最小可标识单位
D、 数据项可由若干个数据元素构成
题目3
一个存储结点存储一个( )。
选择一项:
A、 数据结构
B、 数据类型
C、 数据项
D、 数据元素
题目4
数据结构中,与所使用得计算机无关得就是数据得( )。
选择一项:
A、 物理结构
B、 逻辑结构
C、 物理与存储结构
D、 存储结构
题目5
下列得叙述中,不属于算法特性得就是( )。
选择一项:
A、 有穷性
B、 可行性
C、 可读性
D、 输入性
题目6
正确
获得2、00分中得2、00分
A、 研究算法中得输入与输出得关系
B、 分析算法得易懂性与文档性
C、 分析算法得效率以求改进
D、 找出数据结构得合理性
题目7
算法指得就是( )。
选择一项:
A、 排序方法
B、 解决问题得计算方法
C、 计算机程序
D、 解决问题得有限运算序列
题目8
算法得时间复杂度与( )有关。
选择一项:
A、 所使用得计算机
B、 数据结构
C、 算法本身
D、 计算机得操作系统
题目9
设有一个长度为n得顺序表,要在第i个元素之前(也就就是插入元素作为新表得第i个元素),插入一个元素,则移动元素个数为( )。
选择一项:
A、 n-i+1
B、 n—i-1
C、 n—i
D、 i
题目10
设有一个长度为n得顺序表,要删除第i个元素移动元素得个数为( )。
选择一项:
A、 n—i
B、 n-i-1
C、 n—i+1
D、 i
题目11
在一个单链表中,p、q分别指向表中两个相邻得结点,且q所指结点就是p所指结点得直接后继,现要删除q所指结点,可用语句( ).
选择一项:
A、 p->next=q->next
B、 p=q->next
C、 q-〉next=NULL
D、 p->next=q
题目12
在一个单链表中p所指结点之后插入一个s所指得结点时,可执行( )。
选择一项:
A、 p=s->next
B、 p-〉next= s; s—>next= p-〉next
C、 p—>next=s->next;
D、 s->next=p—>next; p—>next=s;
题目13
非空得单向循环链表得尾结点满足( )(设头指针为head,指针p指向尾结点)。
选择一项:
A、 p== head
B、 p==NULL
C、 p->next==head
D、 p—>next==NULL
题目14
链表不具有得特点就是( )。
选择一项:
A、 可随机访问任一元素
B、 插入删除不需要移动元素
C、 不必事先估计存储空间
D、 所需空间与线性表长度成正比
题目15
带头结点得链表为空得判断条件就是( )(设头指针为head)。
选择一项:
A、 head->next==NULL
B、 head-〉next==head
C、 head ==NULL
D、 head!=NULL
题目16
在一个长度为n得顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。则原顺序表得长度为( )。
选择一项:
A、 21
B、 19
C、 20
D、 25
题目17
有关线性表得正确说法就是( )。
选择一项:
A、 表中得元素必须按由小到大或由大到下排序
B、 除了一个与最后一个元素外,其余元素都有一个且仅有一个直接前驱与一个直接后继
C、 线性表至少要求一个元素
D、 每个元素都有一个直接前驱与一个直接后继
题目18
向一个有127个元素得顺序表中插入一个新元素,并保持原来得顺序不变,平均要移动( )个元素。
选择一项:
A、 8
B、 7
C、 63
D、 63、5
题目19
一个顺序表第一个元素得存储地址就是90,每个元素得长度为2,则第6个元素得地址就是( ).
选择一项:
A、 102
B、 98
C、 100
D、 106
题目20
在双向循环链表中,在p所指得结点之后插入指针f所指得新结点,其操作步骤就是( )。
选择一项:
A、 f—>prior=p; f—>next=p—〉next; p—>next=f;p—>next->prior=f;
B、 p—〉next=f;f->prior=p;p—>next->prior=f;f->next=p->next;
C、 f->prior=p; f->next=p->next; p—>next->prior=f; p—>next=f;
D、 p->next=f; p-〉next-〉prior=f;f->prior=p;f->next=p—>next;
二、填空题(每小题2分,共30分)
题目21
在一个长度为n得顺序存储结构得线性表中,向第i(1£i£n+1)个元素之前插入新元素时,需向后移动回答个数据元素。
题目22
从长度为n得采用顺序存储结构得线性表中删除第i(1£i£n+1)个元素,需向前移动回答个元素。
题目23
数据结构按结点间得关系,可分为4种逻辑结构:_____集合_________、____线性结构、__________、____树形结构__________、____图状结构__________.
题目24
数据得逻辑结构在计算机中得表示称为_____存储结构__________或______物理结构_________.
题目25
除了第1个与最后一个结点外,其余结点有且只有一个前驱结点与后继结点得数据结构为回答,每个结点可有任意多个前驱与后继结点数得结构为回答
。
答案:线性结构,非线性结构
题目26
数据结构中得数据元素存在多对多得关系称为回答结构。
题目27
数据结构中得数据元素存在一对多得关系称为回答结构。
题目28
数据结构中得数据元素存在一对一得关系称为回答结构。
题目29
要求在n个数据元素中找其中值最大得元素,设基本操作为元素间得比较。则比较得次数与算法得时间复杂度分别为__ n—1___________与__ O(n)___________.
题目30
在一个单链表中p所指结点之后插入一个s所指结点时,应执行回答与p—>next=s;得操作。
题目31
设有一个头指针为head得单向循环链表,p指向链表中得结点,若p->next=回答,则p所指结点为尾结点。
题目32
在一个单向链表中,要删除p所指结点,已知q指向p所指结点得前驱结点。则可以用操作回答.
正确答案就是:q->next=p-〉next;
题目33
设有一个头指针为head得单向链表,p指向表中某一个结点,且有p->next= =NULL,通过操作回答,就可使该单向链表构形成单向循环链表。
正确答案就是:p->next=head;
题目34
单向循环链表就是单向链表得一种扩充,当单向链表带有头结点时,把单向链表中尾结点得指针域由空指针改为回答;当单向链表不带头结点时,则把单向链表中尾结点得指针域由空指针改为指向回答.
答案:头结点得指针、指向第一个结点得指针
题目35
线性链表得逻辑关系就是通过每个结点指针域中得指针来表示得。其逻辑顺序与物理存储顺序不再一致,而就是一种回答存储结构,又称为回答。
答案:链式、链表
三、问答题(第1小题7分,第2小题8分)
题目36
简述数据得逻辑结构与存储结构得区别与联系,它们如何影响算法得设计与实现?
答:若用结点表示某个数据元素,则结点与结点之间得逻辑关系就称为数据得逻辑结构.数据在计算机中得存储表示称为数据得存储结构。可见,数据得逻辑结构就是反映数据之间得固有关系,而数据得存储结构就是数据在计算机中得存储表示。尽管因采用得存储结构不同,逻辑上相邻得结点,其物理地址未必相同,但可通过结点得内部信息,找到其相邻得结点,从而保留了逻辑结构得特点。采用得存储结构不同,对数据得操作在灵活性,算法复杂度等方面差别较大。
题目37
解释顺序存储结构与链式存储结构得特点,并比较顺序存储结构与链式存储结构得优缺点。
答:
顺序结构存储时,相邻数据元素得存放地址也相邻,即逻辑结构与存储结构就是统一得,要求内存中存储单元得地址必须就是连续得.
优点:一般情况下,存储密度大,存储空间利用率高。
缺点:(1)在做插入与删除操作时,需移动大量元素;(2)由于难以估计,必须预先分配较大得空间,往往使存储空间不能得到充分利用;(3)表得容量难以扩充。
链式结构存储时,相邻数据元素可随意存放,所占空间分为两部分,一部分存放结点值,另一部分存放表示结点间关系得指针。
优点:插入与删除元素时很方便,使用灵活。
缺点:存储密度小,存储空间利用率低。
四、程序填空题(每空1分,共15分)
题目38
下列就是用尾插法建立带头结点得且有n个结点得单向链表得算法,请在空格内填上适当得语句。
NODE *create1(n)
/* 对线性表(1,2,、、、、、,n),建立带头结点得单向链表 */
{
NODE *head,*p,*q;
int i;
p=(NODE *)malloc(sizeof(NODE));
head=p; q=p; p—〉next=NULL;
for(i=1;i<=n;i++)
{
p=(NODE *)malloc(sizeof(NODE));
回答
; 回答
;
回答
;
回答
;
}
return(head);
}
题目39
下列就是用头插法建立带头结点得且有n个结点得单向链表得算法,请在空格内填上适当得语句。
NODE *create2(n)
/*对线性表(n,n—1,、、、、、,1),建立带头结点得线性链表 */
{
NODE *head,*p,*q;
int i;
p=(NODE *)malloc(sizeof(NODE));
回答
;
p->next=NULL;
回答
;
for(i=1;i<=n;i++)
{
p=(NODE *)malloc(sizeof(NODE));
p->data=i;
if(i==1)
回答
;
else
回答
;
回答
;
}
return(head);
}
题目40
下列就是在具有头结点单向链表中删除第i个结点得算法,请在空格内填上适当得语句.
int delete(NODE *head,int i)
{
NODE *p,*q;
int j;
q=head;
j=0;
while((q!=NULL)&&(j〈i-1)) /*找到要删除结点得直接前驱,并使q指向它*/
{
回答
;
j++;
}
if(q==NULL)
return(0);
回答
回答
;
free(p);
return(1);
}
题目41
下列就是在具有头结点单向列表中在第i个结点之前插入新结点得算法,请在空格内填上适当得语句。
int insert(NODE *head,int x,int i)
{
NODE *q,*p;
int j;
q=head;
j=0;
while((q!=NULL)&&(j〈i-1))
{ q=q-〉next;j++; }
if(q==NULL) return(0);
p=回答
;
p-〉data=x;
回答
正确
正确答案就是:p->next=q—>next
获得1、00分中得1、00分
;
回答
;
return(1);
}
形考任务2
题目1
若让元素1,2,3依次进栈,则出栈顺序不可能为( )。
选择一项:
A、 2,1,3
B、 3,1,2
C、 3,2,1
题目2
一个队列得入队序列就是1,2,3,4。则队列得输出序列就是( )。
选择一项:
A、 3,2,4,1
B、 1,2,3,4
C、 4,3,2,1
D、 1,4,3,2
题目3
向顺序栈中压入新元素时,应当( )。
选择一项:
A、 先存入元素,再移动栈顶指针
B、 先移动栈顶指针,再存入元素
C、 先后次序无关紧要
D、 同时进行
题目4
在一个栈顶指针为top得链栈中,将一个p指针所指得结点入栈,应执行( )。
选择一项:
A、 p->next=top;top=p;
B、 top-〉next=p;
C、 p-〉next=top->next;top=top->next;
D、 p->next=top->next;top->next=p;
题目5
在一个栈顶指针为top得链栈中删除一个结点时,用 x保存被删结点得值,则执行( )。
选择一项:
A、 x=top-〉data;top=top—〉next;
B、 x=top->data;
C、 top=top—>next;x=top—>data;
D、 x=top;top=top—〉next;
题目6
判断一个顺序队列(最多元素为m)为空得条件就是( )。
选择一项:
A、 rear==m-1
B、 front==rear+1
C、 front==rear
题目7
判断一个循环队列Q(最多元素为m)为满得条件就是( ).
选择一项:
A、 Q->rear!= (Q—〉front+1)%m
B、 Q—〉front==Q—>rear
C、 Q—>front==(Q-〉rear+1)%m
D、 Q->front=Q—〉rear +1
题目8
判断栈满(元素个数最多n个)得条件就是( )。
选择一项:
A、 top==0
B、 top!=0
C、 top=—1
D、 top==n-1
题目9
设有一个20阶得对称矩阵A(第一个元素为a1,1),采用压缩存储得方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始), 则矩阵元素a6,2在一维数组B中得下标就是( )。
选择一项:
A、 17
B、 23
C、 21
D、 28
题目10
在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出得数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该就是一个( )结构。
选择一项:
A、 队列
B、 先性表
C、 数组
D、 堆栈
题目11
一个递归算法必须包括( )。
选择一项:
A、 递归部分
B、 迭代部分
C、 终止条件与迭代部分
D、 终止条件与递归部分
题目12
在一个链队中,假设f与r分别为队头与队尾指针,则删除一个结点得运算为( )。
选择一项:
A、 f=r->next;
B、 r=r-〉next;
C、 r=f->next;
D、 f=f-〉next;
题目13
在一个链队中,假设f与r分别为队头与队尾指针,则插入s所指结点得运算为( )。
选择一项:
A、 s->next=r;r=s;
B、 r->next=s;r=s;
C、 s-〉next=f;f=s;
D、 f—>next=s;f=s;
题目14
数组a经初始化char a[ ]=“English”;a[7]中存放得就是( ).
选择一项:
A、 "h”
B、 字符串得结束符
C、 变量h
D、 字符h
题目15
设主串为“ABcCDABcdEFaBc”,以下模式串能与主串成功匹配得就是( )。
选择一项:
A、 BCd
B、 Bcd
C、 Abc
D、 ABC
题目16
字符串 a1="AEIJING",a2="AEI",a3="AEFANG",a4="AEFI”中最大得就是( ).
选择一项:
A、 a3
B、 a1
C、 a4
D、 a2
题目17
两个字符串相等得条件就是( ).
选择一项:
A、 两串得长度相等,并且对应位置上得字符相同
B、 两串得长度相等
C、 两串得长度相等,并且两串包含得字符相同
D、 两串包含得字符相同
题目18
一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素得存储地址为100,则该数组得首地址就是( )。
选择一项:
A、 64
B、 90
C、 28
D、 70
题目19
一个非空广义表得表头( )。
选择一项:
A、 可以就是子表或原子
B、 只能就是原子
C、 不可能就是原子
D、 只能就是子表
题目20
对稀疏矩阵进行压缩存储,可采用三元组表,一个10 行8列得稀疏矩阵A,其相应得三元组表共有6个元素,矩阵A共有( )个零元素。
选择一项:
A、 8
B、 10
C、 72
D、 74
题目21
对稀疏矩阵进行压缩存储,可采用三元组表,一个10 行8列得稀疏矩阵A共有73个零元素,A得右下角元素为6,其相应得三元组表中得第7个元素就是( ).
选择一项:
A、 (10,8,7)
B、 (10,8,6)
C、 (7,10,8)
D、 (7,8,10)
题目22
对一个栈顶指针为top得链栈进行入栈操作,通过指针变量p生成入栈结点,并给该 结点赋值a,则执行: p=(struct node *)malloc(sizeof(struct node);p-〉data=a;与( ).
选择一项:
A、 p->next=top;p=top;
B、 top-〉next=p;p=top;
C、 p—>nex=top;top=p;
D、 top=top-〉next;pe=top;
题目23
头指针为head得带头结点得单向链表为空得判定条件就是( )为真.
选择一项:
A、 head==NULL
B、 head-〉next==NULL
C、 head->next!=NULL
D、 head—>next!=NULL
题目24
设有一个对称矩阵A,采用压缩存储得方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),B数组共有55个元素,则该矩阵就是( )阶得对称矩阵。
选择一项:
A、 20
B、 15
C、 10
D、 5
题目25
数组a经初始化char a[ ]=“English”;a[1]中存放得就是( )。
选择一项:
A、 "n”
B、 字符n
C、 ”E"
D、 字符E
二、填空题(每小题2分,共30分)
题目26
循环队列队头指针在队尾指针回答位置,队列就是“满"状态。
题目27
循环队列得引入,目得就是为了克服回答。
题目28
判断一个循环队列LU(最多元素为m)为空得条件就是回答。
题目29
题干
向一个栈顶指针为h得链栈中插入一个s所指结点时,可执行回答s->next=h;与h=s;操作。(结点得指针域为next)
题目30
从一个栈顶指针为h得链栈中删除一个结点时,用x保存被删结点得值,可执行x=h—题目31
在一个链队中,设f与r分别为队头与队尾指针,则插入s所指结点得操作为回答与r=s; r->next=s;(结点得指针域为next)
题目32
在一个链队中,设f与r分别为队头与队尾指针,则删除一个结点得操作为回答f=f-〉next;. (结点得指针域为next)
题目33
串就是一种特殊得线性表,其特殊性表现在组成串得数据元素都就是回答。
题目34
空串得长度就是回答
;空格串得长度就是回答
。
题目35
设广义表L=((),()),则表头就是______________,表尾就是______________,L得长度就是______________。
则表头就是(),表尾就是(()),L得长度就是2
题目36
广义表A((a,b,c),(d,e,f))得表尾为回答((d,e,f)).
题目37
设有n阶对称矩阵A,用数组s进行压缩存储,当i≥j时,A得数组元素aij相应于数组s得数组元素得下标为回答。(数组元素得下标从1开始)
题目38
对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应得三元组包括该元素得_______、_______与_______三项信息.
答案:行下标、列下标与非零元素值
题目39
循环队列用a[0],…,a[7]得一维数组存放队列元素,(采用少用一个元素得模式),设front与rear分别为队头与队尾指针,且front与rear 得值分别为2与7,当前队列中得元素个数就是回答5。
题目40
循环队列得引入,目得就是为了克服回答。
三、问答题(每小题5分,共20分)
题目41
完成
满分5、00
题干
栈、队列与线性表得区别就是什么?
答:栈就是一种先进后出得线性表,栈得插入与删除操作都只能在栈顶进行,而一般得线性表可以在线性表得任何位置进行插入与删除操作。
队列就是一种先进先出得线性表,队列得插入只能在队尾进行,队列得删除只能在队头进行,而一般得线性表可以在线性表得任何位置进行插入与删除操作。
题目42
设栈S与队列Q得初始状态为空,元素e1,e2,e3,e4,e5与e6依次通过S,一个元素出栈后即进队列Q,若6个元素出队得序列就是e2,e4,e3,e6,e5,e1,则栈S得容量至少应该就是多少?
出队序列就是e2,e4,e3,e6,e5,e1得过程:
(1)e1入栈(栈底到栈顶元素就是e1)
(2)e2入栈(栈底到栈顶元素就是e1,e2)
(3)e2出栈(栈底到栈顶元素就是e1)
(4)e3入栈(栈底到栈顶元素就是e1,e3)
(5)e4入栈(栈底到栈顶元素就是e1,e3,e4)
(6)e4出栈(栈底到栈顶元素就是e1,e3)
(7)e3出栈(栈底到栈顶元素就是e1)
(8)e5入栈(栈底到栈顶元素就是e1,e5)
(9)e6入栈(栈底到栈顶元素就是e1,e5,e6)
(10)e6出栈(栈底到栈顶元素就是e1,e5)
(11)e5出栈(栈底到栈顶元素就是e1)
(12)e1出栈(栈底到栈顶元素就是空)
栈中最多时有3个元素,所以栈S得容量至少就是3。
题目43
有5个元素,其入栈次序为:A、B、C、D、E,在各种可能得出栈次序中,以元素C、D最先得次序有哪几个?
从题中可知,要使C第一个且D第二个出栈,应就是A入栈,B入栈,C入栈,C出栈,D入栈。之后可以有以下几种情况:
(1)B出栈,A出栈,E入栈,E出栈,输出序列为:CDBAE.
(2)B出栈,E入栈,E出栈,A 出栈,输出序列为CDBEA。
(3)E入栈,E出栈,B出栈,A出栈,输出序列为CDEBA
所以可能得次序有:CDBAE,CDBEA,CDEBA
题目44
简述广义表与线性表得区别与联系。
广义表就是线性表得得推广,它也就是n(n>0)个元素a1,a2,…,ai,…,an得有限序列,其中ai或者就是原子或者就是一个广义表。所以,广义表就是一种递归数据结构,而线性表没有这种特性,线性表可以瞧成广义表得特殊情况,当ai都就是原子时,广义表退化成线性表。
形考任务三
一、单项选择题(每小题2分,共32分)
题目1
假定一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为( )。
选择一项:
A、 17
B、 16
C、 15
D、 47
题目2
二叉树第k层上最多有( )个结点。
选择一项:
A、 2k—1
B、 2k—1
C、 2k-1
D、 2k
题目3
设某一二叉树先序遍历为abdec,中序遍历为dbeac,则该二叉树后序遍历得顺序就是( )。
选择一项:
A、 abedc
B、 abdec
C、 debac
D、 debca
题目4
将含有150个结点得完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点得编号为1,则编号为69得结点得双亲结点得编号为( )。
选择一项:
A、 35
B、 33
C、 34
D、 36
题目5
如果将给定得一组数据作为叶子数值,所构造出得二叉树得带权路径长度最小,则该树称为( )。
选择一项:
A、 平衡二叉树
B、 完全二叉树
C、 二叉树
D、 哈夫曼树
题目6
在一棵度为3得树中,度为3得结点个数为2,度为2得结点个数为1,则度为0得结点个数为( )。
选择一项:
A、 5
B、 4
C、 7
D、 6
题目7
在一棵度具有5层得满二叉树中结点总数为( )。
选择一项:
A、 31
B、 32
C、 16
D、 33
题目8
利用n个值作为叶结点得权生成得哈夫曼树中共包含有( )个结点。
选择一项:
A、 n+1
B、 2*n
C、 n
D、 2*n-1
题目9
利用3、6、8、12这四个值作为叶子结点得权,生成一棵哈夫曼树,该树中所有叶子结点中得最长带权路径长度为( )。
选择一项:
A、 16
B、 30
C、 12
D、 18
题目10
在一棵树中,( )没有前驱结点。
选择一项:
A、 叶结点
B、 空结点
C、 树根结点
D、 分支结点
题目11
设一棵有n个叶结点得二叉树,除叶结点外每个结点度数都为2,则该树共有( )个结点。
选择一项:
A、 2n—1
B、 2n+2
C、 2n+1
D、 2n
题目12
在一个图G中,所有顶点得度数之与等于所有边数之与得( )倍。
选择一项:
A、 1
B、 1/2
C、 2
D、 4
题目13
邻接表就是图得一种( )。
选择一项:
A、 索引存储结构
B、 顺序存储结构
C、 散列存储结构
D、 链式存储结构
题目14
如果从无向图得任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定就是( )。
选择一项:
A、 一棵树
B、 有回路
C、 完全图
D、 连通图
题目15
图得深度优先遍历算法类似于二叉树得( )遍历.
选择一项:
A、 先序
B、 层次
C、 中序
D、 后序
题目16
已知下图所示得一个图,若从顶点V1出发,按深度优先搜索法进行遍历,则可能得到得一种顶点序列为( )。
选择一项:
A、 V1V2V4V5V8V3V6V7
B、 V1V2V4V8V5V3V6V7
C、 V1V2V4V8V3V5V6V7
D、 V1V3V6V7V2V4V5V8
二、填空题 (每小题1分,共20分)
题目17
结点得度就是指结点所拥有得回答.
正确答案就是:子树树木或后继结点数
题目18
树得度就是指回答。
正确答案就是:树中所有结点得度得最大值
题目19
度大于0得结点称作__________________或__________________.
分支结点、非终端结点
题目20
度等于0得结点称作__________________或__________________。
叶子结点、终端结点
题目21
在一棵树中,每个结点得_______________或者说每个结点得_______________称为该结点得_______________,简称为孩子。
子树得根、后继结点、孩子结点
题目22
从根结点到该结点所经分支上得所有结点称为该结点得回答。
正确答案就是:祖先
题目23
树得深度或高度就是指回答。
正确答案就是:树中结点得最大层数
题目24
具有n个结点得完全二叉树得深度就是_____________。
题目25
先序遍历二叉树得得操作定义为;若二叉树为空,则为空操作,否则进行如下操作,访问二叉树得回答
;先序遍历二叉树得回答
,先序遍历二叉树得回答
。
根结点、左子树、右子树
题目26
中序遍历二叉树得得操作定义为;若二叉树为空,则为空操作,否则进行如下操作,中序遍历二叉树得回答
;访问而叉树得回答
,中序遍历二叉树得回答
。
左子树、根结点、右子树
题目27
后序遍历二叉树得得操作定义为;若二叉树为空,则为空操作,否则进行如下操作,后序遍历二叉树得回答
;后序遍历二叉树得回答
,访问而叉树得回答
.
左子树、右子树、根结点
题目28
将树中结点赋上一个有着某种意义得实数,称此实数为该结点得回答。
正确答案就是:权
题目29
树得带权路径长度为树中所有叶子结点得回答.
正确答案就是:带权路径长度之与
题目30
哈夫曼树又称为回答
,它就是n个带权叶子结点构成得所有二叉树中带权路径长度WPL回答
.
答案:最优二叉树,最小得二叉树
题目31
若以4,5,6,7,8作为叶子结点得权值构造哈夫曼树,则其带权路径长度就是回答.
正确答案就是:69
题目32
具有m个叶子结点得哈夫曼树共有回答结点。
正确答案就是:2m—1
题目33
图得遍历就是从图得某一顶点出发,按照一定得搜索方法对图中回答
各做回答
访问得过程。
答案:所有顶点; 一次
题目34
图得深度优先搜索遍历类似于树得回答遍历。
正确答案就是:先序
题目35
图得广度优先搜索类似于树得回答遍历。
正确答案就是:按层次
题目36
图常用得两种存储结构就是_____________与_____________。
邻接矩阵、邻接表
三、综合题(每小题8分,共40分)
题目37
写出如下图所示得二叉树得先序、中序与后序遍历序列。
答:二叉树得定义就是递归得,所以,一棵二叉树可瞧作由根结点,左子树与右子树这三个基本部分组成,即依次遍历整个二叉树,又左子树或者右子树又可瞧作一棵二叉树并继续分为根结点、左子树与右子树三个部分……,这样划分一直进行到树叶结点。
(1)先序为“根左右”,先序序列为:fdbacegihl
(2)中序为“左根右",中序序列为:abcdefghij
(3)后序为“左右根”,后序序列为:acbedhjigf
题目38
已知某二叉树得先序遍历结果就是:A,B,D,G,C,E,H,L,I,K,M,F与J,它得中序遍历结果就是:G,D,B,A,L,H,E,K,I,M,C,F与J,请画出这棵二叉树,并写出该二叉树后续遍历得结果。
(1)二叉树图形表示如下:
(2)该二叉树后序遍历得结果就是:G、D、B、L、H、K、M、I、E、J、F、C与A。
题目39
假设通信用得报文由9个字母A、B、C、D、E、F、G、H与I组成,它们出现得频率分别就是:10、20、5、15、8、2、3、7与30.请请用这9个字母出现得频率作为权值求:
(1)设计一棵哈夫曼树;
(2)计算其带权路径长度WPL;
(3)写出每个字符得哈夫曼编码.
1)哈夫曼树如图B-4所示.
图B—4
(2)其带权路径长度WPL值为270。
(3)每个字符得哈夫曼编码为:A:100, B:11, C:1010, D:000, E:0010, F:10110, G:10111, H:0011, I:01
题目40
请根据以下带权有向图G
(1)给出从结点v1出发分别按深度优先搜索遍历G与广度优先搜索遍历G所得得结点序列;
(2)给出G得一个拓扑序列;
(3)给出从结点v1到结点v8得最短路径.
(1)
深度优先遍历:v1,v2,v3,v8,v5,v7,v4,v6
广度优先遍历:v1,v2,v4,v6,v3,v5,v7,v8
(2)G得拓扑序列为:v1,v2,v4,v6,v5,v5,v3,v5,v7,v8
(3)最短路径为:v1,v2,v5,v7,v8
题目41
已知无向图G描述如下:
G=(V,E)
V={V1,V2,V3,V4,V5}
E={(V1,V2),(V1,V4),(V2,V4),(V3,V4),(V2,V5),(V3,V4),(V3,V5)}
(1)画出G得图示;
(2)然后给出G得邻接矩阵与邻接表;
(3)写出每个顶点得度。
① g1得图示与图g1得邻接表如下图所示。
图G
② 图G得邻接矩阵如下图所示:
图G得邻接矩阵
图G得邻接表
③ V1、V2、V3、V4、V5得度分别为:2,3,2,3,2
四、程序填空题(每空2分,共8分)
题目42
部分正确
获得4、00分中得2、00分
题干
以下就是中序遍历二叉树得递归算法得程序,完成程序中空格部分(树结构中左、右指针域分别为left与right,数据域data为字符型,BT指向根结点)。
void Inorder (struct BTreeNode *BT)
{
if(BT!=NULL){
回答
;
回答
;
Inorder(BT->right);}
}
答案:
(1)Inorder(BT->left)
(2)printf("%c",BT—〉data)
题目43
以下程序就是后序遍历二叉树得递归算法得程序,完成程序中空格部分(树结构中左、右指针域分别为left与right,数据域data为字符型,BT指向根结点)。
void Inorder (struct BTreeNode *BT)
{
if(BT!=NULL){
回答
;
Inorder(BT—>right);
回答
;}
}
(1)Inorder(BT->left)
(2)printf(”%c",BT-〉data)
形考任务四
一、单项选择题(每小题2分,共42分)
题目1
对线性表进行二分查找时,要求线性表必须( ).
选择一项:
A、 以顺序存储方式
B、 以顺序存储方式,且数据元素有序
C、 以链接存储方式,且数据元素有序
D、 以链接存储方式
题目2
采用顺序查找方法查找
展开阅读全文