数据结构课程三套作业及答案分析

数据结构课程作业_A一、单选题。

1.(7分)对完全二叉树叙述正确的是(C)。

A. 完全二叉树就是满二叉树B. 完全二叉树和满二叉树编号不对应C. 完全二叉树同一层上左子树未满不会有右子树D. 以上都不正确知识点:第六章解析第六章第二节二叉树的性质2.(7分)堆的形状是一棵(C)。

A. 二叉排序树B. 满二叉树C. 完全二叉树D. 一般的二叉树知识点:第十章解析第十章第四节堆排序3.(7分)设一棵完全二叉树中有65个结点,则该完全二叉树的深度为(B)。

A. 8B. 7C. 6D. 5知识点:第六章解析第六章第六节二叉树的性质4.(7分)以下数据结构中哪一个是非线性结构?(D)A. 队列B. 栈C. 线性表D. 二叉树知识点:第一章解析第一章第二节综合题目5.(7分)线性表的顺序存储结构是一种?的存储结构(A)。

A. 随机存取B. 顺序存取C. 索引存取D. 散列存取知识点:第二章解析第二章第二节综合题目6.(7分)带头节点的单链表L为空的判定条件是(C)。

A. L = =nullB. L->data= =nullC. L->next= =nullD. L->next= =data知识点:第二章解析第二章第三节线性链表7.(7分)设一组初始记录关键字序列为(45,80,55,40,42,85),则以第一个记录关键字45为基准而得到一趟快速排序的结果是(C)。

A. 40,42,45,55,80,83B. 42,40,45,80,85,88C. 42,40,45,55,80,85D. 42,40,45,85,55,80知识点:第十章解析第十章第三节综合题目8.(7分)设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为(A)。

A. 10,15,14,18,20,36,40,21B. 10,15,14,18,20,40,36,21C. 10,15,14,20,18,40,36,2lD. 15,10,14,18,20,36,40,21知识点:第十章解析第十章第三节综合题目9.(7分)设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为(C)。

A. 2,3,5,8,6B. 3,2,5,8,6C. 3,2,5,6,8D. 2,3,6,5,8知识点:第十章解析第十章第三节综合题目10.(7分)设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为(A)。

A. p->next=p->next->nextB. p=p->nextC. p=p->next->nextD. p->next=p知识点:第二章解析第二章第三节线性链表二、判断。

1.(6分)栈和队列都是操作受限的线性表。

答案:正确。

解析第三章综合题目2.(6分)分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。

答案:正确。

解析第九章第一节索引顺序表的查找3.(6分)数据项是数据的基本单位。

答案:错误。

解析第一章第二节数据项4.(6分)希尔排序是一种稳定的排序方法。

答案:错误。

解析第十章第二节希尔排序5.(6分)二叉排序树上左子树上所有结点的值均小于它的根结点的值。

答案:正确。

解析第九章第二节二叉排序树和平衡二叉树数据结构课程作业_B一、单选题。

1.(7分)设某强连通图中有n个顶点,则该强连通图中至少有(C)条边。

A. n(n-1)B. n+1C. nD. n(n+1)知识点:第七章解析第七章第一节综合题目2.(7分)链式队列Q为空的判定条件(A)。

A. Q.front==Q.rearB. Q.front==QC. Q ==Q.rearD. 没有正确答案知识点:第三章解析第三章第四节队列的链式表示和实现3.(7分)设某无向图中有n个顶点e条边,则建立该图邻接表的时间复杂度为(A)。

A. O(n+e)B. O(n2)C. O(ne)D. O(n3)知识点:第七章解析第七章第二节邻接表4.(7分)图的广度优先遍历算法类似于二叉树的(D)。

A. 先序遍历B. 中序遍历C. 后序遍历D. 层次遍历知识点:第七章解析第七章第三节广度优先搜索5.(7分)图的邻接矩阵表示法适用于表示(C)。

A. 有向图B. 无向图C. 稠密图D. 稀疏图知识点:第七章解析第七章第二节数组表示法6.(7分)设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是(C)。

A. n-IB. n-1-IC. n+1-ID. 不能确定知识点:第三章解析第三章第一节栈的表示和实现7.(7分)顺序查找适用于存储结构为(B)的线性表。

A. 散列B. 顺序或者链式C. 压缩D. 索引知识点:第九章解析第九章第一节顺序表的查找8.(7分)线性表若采用链式存储结构时,要求内存中的可用存储单元的地址? (D)。

A. 必须连续B. 部分连续C. 一定不连续D. 可连续可不连续知识点:第二章解析第二章第三节综合题目9.(7分)设无向图G中有n个顶点,则该无向图的最小生成树上有(B)条边。

A. nB. n-1C. 2nD. 2n-1知识点:第七章解析第七章第四节最小生成树10.(7分)设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为(D)。

A. front=front+1B. front=(front+1)%(m-1)C. front=(front-1)%mD. front=(front+1)%m知识点:第三章解析第三章第四节队列的顺序表示和实现二、判断。

1.(6分)二叉排序树上左子树上所有结点的值均小于它的根结点的值。

答案:正确。

解析第九章第二节二叉排序树和平衡二叉树2.(6分)常用的图的遍历方法有深度优先遍历和广度优先遍历。

答案:正确。

解析第七章第三节综合题目3.(6分)数据项是数据的基本单位。

答案:错误。

解析第一章第二节数据项4.(6分)二维数组和多维数组均不是特殊的线性结构。

答案:错误。

解析第五章综合题目5.(6分)分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。

答案:正确。

解析第九章第一节索引顺序表的查找数据结构课程作业_C一、单选题。

1.(7分)设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为(B)。

A. 2i+1B. 2iC. i/2D. 2i-1知识点:第六章解析第六章第六节二叉树的性质2.(7分)若采用孩子兄弟链表作为树的存储结构,则树的先根遍历应采用二叉树的(B)。

A. 层次遍历B. 先序遍历C. 中序遍历D. 后序遍历知识点:第六章解析第六章第四节树的存储结构3.(7分)若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为(D)。

A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,3知识点:第九章解析第九章第一节有序表的查找4.(7分)设有序表中有1000个元素,则用二分查找查找元素X最多需要比较(B)次。

A. 25B. 10C. 7D. 1知识点:第九章解析第九章第一节有序表的查找5.(7分)单链表的结点包含____和_____。

(D)A. 结点域,符号域B. 数据域,符号域C. 结点域,指针域D. 数据域,指针域知识点:第二章解析第二章第三节线性链表6.(7分)设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为(A)。

A. BADCB. BCDAC. CDABD. CBDA知识点:第六章解析第六章第三节遍历二叉树7.(7分)序列278、109、930经过一趟基数排序后结果为(A)。

A. 930、278、109B. 109、930、278C. 109、278、930D. 278、109、930知识点:第十章解析第十章第六节多关键字的排序8.(7分)设某有向图中有n个顶点,则该有向图对应的邻接表中有(B)个表头结点。

A. n-1B. nC. n+1D. 2n-1知识点:第七章解析第七章第二节邻接表9.(7分)设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为(C)。

A. O(n)B. O(nlog2n)C. O(1)D. O(n2)知识点:第五章解析第五章第二节综合题目10.(7分)一个栈的入栈序列是A、B、C、D、E,五个元素都入栈后,首次出栈的元素是(B)。

A. AB. EC. BD. D知识点:第三章解析第三章第一节综合题目二、判断。

1.(6分)已知一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。

答案:错误。

解析第六章第三节遍历二叉树2.(6分)归并排序是一种稳定的排序方法。

答案:正确。

解析第十章第五节综合题目3.(6分)邻接表法只能用于有向图存储。

答案:错误。

解析第七章第二节邻接表4.(6分)设初始记录关键字基本有序,则快速排序算法的时间复杂度为O(nlog2n)。

答案:错误。

解析第十章第三节综合题目5.(6分)非空的双向循环链表中任何结点的前驱指针均不为空。

答案:正确。

解析第二章第三节循环链表。

合集下载

数据结构课程课后习题答案及解析

数据结构课程课后习题答案及解析

《数据结构简明教程》练习题及参考答案练习题11. 单项选择题(1)线性结构中数据元素之间是()关系。

A.一对多B.多对多C.多对一D.一对一答:D(2)数据结构中与所使用的计算机无关的是数据的()结构。

A.存储B.物理C.逻辑D.物理和存储答:C(3)算法分析的目的是()。

A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性答:C(4)算法分析的两个主要方面是()。

A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性答:A(5)计算机算法指的是()。

A.计算方法B. 排序方法C.求解问题的有限运算序列D.调度方法答:C(6)计算机算法必须具备输入、输出和()等5个特性。

A.可行性、可移植性和可扩充性B.可行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性答:B2. 填空题(1)数据结构包括数据的①、数据的②和数据的③这三个方面的内容。

答:①逻辑结构②存储结构③运算(2)数据结构按逻辑结构可分为两大类,它们分别是①和②。

答:①线性结构②非线性结构(3)数据结构被形式地定义为(D,R),其中D是①的有限集合,R是D上的②有限集合。

专业资料整理分享数据结构简明教程答:①数据元素 ②关系 (4)在线性结构中,第一个结点 ① 前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点 ② 后继结点,其余每个结点有且只有1个后继结点。

答:①没有 ②没有 (5)在树形结构中,树根结点没有 ① 结点,其余每个结点有且只有 ② 个前驱结点;叶子结点没有 ③ 结点,其余每个结点的后继结点数可以是 ④ 。

答:①前驱 ②1 ③后继 ④任意多个(6)在图形结构中,每个结点的前驱结点数和后继结点数可以是( )。

答:任意多个(7)数据的存储结构主要有四种,它们分别是 ① 、 ② 、 ③ 和 ④ 存储结构。

答:①顺序 ②链式 ③索引 ④哈希(8)一个算法的效率可分为 ① 效率和 ② 效率。

《数据结构》作业3参考答案

《数据结构》作业3参考答案

= 15
所以 (3,3) = (0,0) + 3 × 15 + 3 = 644 + 45 + 3 = 692
4.9 习题答案
第一步,计算 P 的 next 值,如图所示。
j
0
1
P
a
a
next[j]
-1
0
第二步,用 KMP 算法进行快速匹配,如下图。
0
1
234567
T
a
b
abbaab
P
a
a
b
j=1,next[1]=0
图 4.10(1)
(2).答案:
( , , ( ) , ( ))的图形表示和存储表示如图所示。
图 4.10(2)
4.11 习题答案
(1) Head(Tail(Tail(L1))) (2) Head(Head(Tail(L2))) (3) Head(Head(Tail(Tail(Head(L3))))) (4) Head(Head(Tail(Tail(L4)))) (5) Head(Tail(Head(L5))) (6) Head(Head(Tail(Head(Tail(L6)))))
a
a
j=0,next[0]=-1
aab
j=1,next[1]=0
aab
j=0,next[0]=-1
aab
ห้องสมุดไป่ตู้
j=0,next[0]=-1
aa
图 4.9
2 b 1 89 aA
b j=3,成功
4.10 习题答案 (1).答案:
( ( ), ( ), ( , ( , , )))的图形表示和存储表示如图所示。
数据结构作业3参考答案答案作业三数据结构作业题参考答案作业3及答案3及答案作业及答案

数据结构作业题及参考答案

数据结构作业题及参考答案

东北农业大学网络教育学院数据结构作业题(一)、选择题(每题2分,共20 分)1在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( )。

2A Qn) B、O(n/2) C、O(1) D O(n )2.带头结点的单链表first为空的判定条件是( )。

A、first == NULL ;B、first->link == NULL ;C、first->link == first ;D、first != NULL ;3•在一棵树中,( )没有前驱结点。

A、分支结点B、叶结点C、树根结点D、空结点4•在有向图中每个顶点的度等于该顶点的( )。

A、入度B、出度C、入度与出度之和D、入度与出度之差5.对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为( ) 的值除以9。

A、20B、18C、25D、226•下列程序段的时间复杂度为( )。

s=0;for(i=1 ; i<n; i++)for(j=1 ; j<n ; j++)s+=i*j ;2A、O(1)B、O(n)C、O(2n)D、O(n)7•栈是一种操作受限的线性结构,其操作的主要特征是( )。

A、先进先出B、后进先出C、进优于出D、出优于进&假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front和rear。

若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为( )。

4•在二叉树的第i 层上至多有 ______________ 结点。

5.对于一棵具有 n 个结点的二叉树,若一个结点的编号为A、 C、 (rear-front-1) % n B 、(rear-front) % n (front-rear+1) % nD 、(rear-front+n) % n高度为5的完全二叉树中含有的结点数至少为(16B 、17C 、3110.如图所示有向图的一个拓扑序列是D 、32)A 、 ABCDEFB 、 FCBEADC 、 FEDCBAD 、 DAEBCF二、填空题(每空1分,共20 分)1. n (n > 0)个顶点的无向图最多有2.在一棵AVL 树中,每个结点的左子树高度与右子树高度之差的绝对值不超过 ________ 。

国家开放大学电大《数据结构》网络课形考任务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 图的深度优先遍历算法类似于二叉树的()遍历。

数据结构习题和答案及解析

数据结构习题和答案及解析

数据结构习题和答案及解析数据结构是计算机科学中非常重要的一个领域,它关注数据的存储、组织和管理方式。

在学习数据结构的过程中,遇到习题是必不可少的,通过解答这些习题可以更好地理解和掌握数据结构的概念和应用。

以下是一些常见的数据结构习题及其答案和解析,希望可以帮助读者更好地学习和理解数据结构。

习题一:栈的应用题目描述:设计一个栈,使其具有获取栈中最小元素的操作。

解答及解析:可以通过两个栈来实现,一个栈用于存储数据,另一个栈用于存储当前最小元素。

在入栈时,如果新的元素比当前最小元素小,则将新元素同时入栈到数据栈和最小栈;在出栈时,如果当前出栈元素与最小栈的栈顶元素相同,则同时出栈。

这样,最小栈的栈顶元素始终为当前栈的最小元素。

习题二:队列的应用题目描述:设计一个队列,使其具有获取队列中最大元素的操作。

解答及解析:可以通过两个队列来实现,一个队列用于存储数据,另一个队列用于存储当前最大元素。

在入队时,如果新的元素比当前最大元素大,则将新元素同时入队到数据队列和最大队列;在出队时,如果当前出队元素与最大队列的队首元素相同,则同时出队。

这样,最大队列的队首元素始终为当前队列的最大元素。

习题三:链表的操作题目描述:给定一个链表,删除链表中倒数第n个节点,并返回链表的头节点。

解答及解析:使用双指针法来解决该问题。

首先让一个指针从链表的头节点向前移动n+1步,然后再让另一个指针从链表的头节点开始移动。

这样两个指针之间的间隔为n,当第一个指针到达链表末尾时,第二个指针指向的节点就是倒数第n个节点的前一个节点。

接着,将第二个指针指向的节点的next指针指向下下个节点,完成删除操作。

习题四:树的遍历题目描述:给定一个二叉树,按照中序遍历的顺序返回其节点值的集合。

解答及解析:采用递归的方式进行中序遍历,先遍历左子树,然后访问根节点,最后遍历右子树。

对于任意一个节点,递归遍历其左子树,将节点值添加到集合中。

然后访问该节点,并将节点值添加到集合中。

数据结构(第3版)习题及实验参考答案14438

数据结构(第3版)习题及实验参考答案14438

附录习题及实验参考答案习题1参考答案1.1.选择题(1). A. (2). A. (3). A. (4). B.,C. (5). A. (6). A. (7). C. (8). C. (9). B. (10.)A.1.2.填空题(1). 数据关系(2). 逻辑结构物理结构(3). 线性数据结构树型结构图结构(4). 顺序存储链式存储索引存储散列表(Hash)存储(5). 变量的取值范围操作的类别(6). 数据元素间的逻辑关系数据元素存储方式或者数据元素的物理关系(7). 关系网状结构树结构(8). 空间复杂度和时间复杂度(9). 空间时间(10). Ο(n)1.3 名词解释如下:数据:数据是信息的载体,是计算机程序加工和处理的对象,包括数值数据和非数值数据。

数据项:数据项指不可分割的、具有独立意义的最小数据单位,数据项有时也称为字段或域。

数据元素:数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理,一个数据元素可由若干个数据项组成。

数据逻辑结构:数据的逻辑结构就是指数据元素间的关系。

数据存储结构:数据的物理结构表示数据元素的存储方式或者数据元素的物理关系。

数据类型:是指变量的取值范围和所能够进行的操作的总和。

算法:是对特定问题求解步骤的一种描述,是指令的有限序列。

1.4 语句的时间复杂度为:(1) Ο(n2)(2) Ο(n2)(3) Ο(n2)(4) Ο(n-1)(5) Ο(n3)1.5 参考程序:main(){int X,Y,Z;scanf(“%d, %d, %d”,&X,&Y,Z);if (X>=Y)if(X>=Z)if (Y>=Z){ printf(“%d, %d, %d”,X,Y,Z);}else{ printf(“%d, %d, %d”,X,Z,Y);}else{ printf(“%d, %d, %d”,Z,X,Y);}elseif(Z>=X)if (Y>=Z){ printf(“%d, %d, %d”,Y,Z,X);}else{ printf(“%d, %d, %d”,Z,Y,X);}else{ printf(“%d, %d, %d”,Y,X,Z);}}1.6 参考程序:main(){int i,n;float x,a[],p;printf(“\nn=”);scanf(“%f”,&n);printf(“\nx=”);scanf(“%f”,&x);for(i=0;i<=n;i++)scanf(“%f ”,&a[i]);p=a[0];for(i=1;i<=n;i++){ p=p+a[i]*x;x=x*x;}printf(“%f”,p)’}习题2参考答案2.1选择题(1). C. (2). B. (3). B. (4). B. 5. D. 6. B. 7. B. 8. A. 9. A. 10. D.2.2.填空题(1). 有限序列(2). 顺序存储和链式存储(3). O(n) O(n)(4). n-i+1 n-i(5). 链式(6). 数据指针(7). 前驱后继(8). Ο(1) Ο(n)(9). s->next=p->next; p->next=s ;(10). s->next2.3. 解题思路:将顺序表A中的元素输入数组a,若数组a中元素个数为n,将下标为0,1,2,…,(n-1)/2的元素依次与下标为n,n-1,…, (n-1)/2的元素交换,输出数组a的元素。

数据结构习题参考答案与解析

习题1 参考答案1至8题答案略。

9.(1)【解】该逻辑结构为线性结构,其图形表示如下:(2)【解】该逻辑结构为树型结构,其图形表示如下:(3)【解】该逻辑结构为图型结构,其图形表示如下:(4)【解】该逻辑结构为线性结构,其图形表示如下:10.【解】该图书库存管理系统所要处理的数据对象为图书,所以该问题中涉及的数据元素为图书,设数据元素类型为bookType 类型。

每个数据元素应包含的数据项有图书编号、书名、作者、出版社、出版日期等。

可用一个表格(如下表)的形式表示图书间的逻辑关系,即该问题数学模型可采用简单的线性结构来表示。

根据问题需求功能目标,此模型的所需的主要处理操作有插入、删除、查找和修改等基本操作。

所以,现用抽象数据类型bookList 表示问题模型,其逻辑结构与基本操作的定义如下: (1)逻辑结构bookList=( D, {r} )D={b i | b i 为bookType 类型的元素,i=1,2,3, ....., n ,n ≥0} r ={ <bk i ,b i+1>| i=1,2,…, n -1, n ≥0 } (2)基本操作 ①初始化操作函数:InitBookList(&BL)。

……初始条件:图书表BL 不存在。

操作结果:构造一个空的图书表BL 。

②求图书表长度操作函数:bookListLength(BL)。

初始条件:图书表BL 已存在。

操作结果:返回图书表BL 中所包含的数据元素(图书)的个数。

③取图书表中元素操作函数:getBook(BL, i, &b)。

初始条件:图书表BL 已存在,且1≤i ≤bookListLength(BL)。

操作结果:用b 返回图书表BL 中的第i 个数据元素的值。

④按编号查找操作函数:locateById(BL, id)。

初始条件:图书表BL 已存在,id 是给定的一个图书编号。

操作结果:返回图书表BL 中图书编号为id 的数据元素的位序,若这样的数据元素不存在,则返回0。

数据结构习题和答案及解析

⑷下面〔〕不是算法所必须具备的特性。

A 有穷性B 确切性C 高效性D 可行性【解答】C【分析】高效性是好算法应具备的特性。

⑸算法分析的目的是〔〕,算法分析的两个主要方面是〔〕。

A 找出数据结构的合理性B 研究算法中输入和输出的关系C 分析算法的效率以求改良D 分析算法的易读性和文档性E 空间性能和时间性能F 正确性和简明性G 可读性和文档性 H 数据复杂性和程序复杂性【解答】C,E3. 判断题⑴算法的时间复杂度都要通过算法中的根本语句的执行次数来确定。

【解答】错。

时间复杂度要通过算法中根本语句执行次数的数量级来确定。

⑵每种数据结构都具备三个根本操作:插入、删除和查找。

【解答】错。

如数组就没有插入和删除操作。

此题注意是每种数据结构。

⑶所谓数据的逻辑结构指的是数据之间的逻辑关系。

【解答】错。

是数据之间的逻辑关系的整体。

⑷逻辑结构与数据元素本身的内容和形式无关。

【解答】对。

因此逻辑结构是数据组织的主要方面。

⑸基于某种逻辑结构之上的根本操作,其实现是唯一的。

【解答】错。

根本操作的实现是基于某种存储结构设计的,因而不是唯一的。

【解答】⑴根本语句是k=k+10*i,共执行了n-2次,所以T(n)=O(n)。

⑵根本语句是k=k+10*i,共执行了n次,所以T(n)=O(n)。

⑶分析条件语句,每循环一次,i+j 整体加1,共循环n次,所以T(n)=O(n)。

⑷设循环体共执行T(n)次,每循环一次,循环变量y加1,最终T(n)=y,即:(T(n)+1)2≤n,所以T(n)=O(n1/2)。

⑸ x++是根本语句,所以5.设有数据结构〔D,R〕,其中D={1, 2, 3, 4, 5, 6},R={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)}。

试画出其逻辑结构图并指出属于何种结构。

【解答】其逻辑结构图如图1-3所示,它是一种图结构。

6. 为整数定义一个抽象数据类型,包含整数的常见运算,每个运算对应一个根本操作,每个根本操作的接口需定义前置条件、输入、功能、输出和后置条件。

数据结构第三次作业题及答案.doc

第3次作业一、填空题(本大题共30分,共10小题,每小题3分)1.具有8个顶点的无向图,边的总数最多为_______ o2.树在计算机内的表示方式有______ , ______ , _____ o3.设有一个n阶的下三角矩阵A,如果按照行的顺序将下三角矩阵中的元素(包描对角线上元素)存放在n(n+l)个连续的存储单元中,则A[i][j]与A[0][0] Z间有 _______ 个数据元素。

4.队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是______ O5.在广义表的存储结构中,单元索结点与表元索结点有一个域对应不同,各自分别为______ 域和_______ 域。

6.构造连通网最小生成树的两个典型算法是______ O7.在一个稀疏矩阵中,每个非零元索所对应的三元组包括该元索的_________ 、和三项。

8.已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树有__________ 个叶子结点。

9.非空的单循环链表head的尾结点(由p指针所指)满足条件10.在哈希文件屮,处理冲突的方法通常有______ 、______ 、______ 和______ 四种。

二、算法设计题(本大题共20分,共2小题,每小题10分)1.回文是指止读反读均相同的字符序列,如〃abba〃和〃abdba"均是回文,但"good" 不是回文。

试写一个算法判定给定的字符向量是否为回文。

2.编写一个算法将一个头结点指针为pa的单链表A分解成两个单链表A和B,其头结点指针分别为g和pb,使得A链表小含有原链表AM序号为奇数的元索,而链表B屮含有原链表A屮序号为偶数的元索,且保持原来的相对顺序。

三、简答题(本大题共20分,共4小题,每小题5分)1.何时选用顺序表、何时选用链表作为线性表的存储结构为宜?2.一棵度为2的树与一棵二义树有何区别?3.指出下述程序段的功能是什么?void Demol( SeqStack *S, int m){ // 设DataType 为int 型SeqStack T; inti;InitStack (&T);while (! StackEmpty( S))if (( i二Pop(S)) !=m) Push( &T, i);while (! StackEmpty( &T)){i二Pop(&T); Push(S, i);4.给定集合{15, 3, 14, 2, 6, 9, 16, 17}(1)(3分)用□表示外部结点,用O表示内部结点,构造相应的huffman 树:(2)(2分)计算它的带权路径长度:(3)(2分)写出它的huffman编码:(4)(3分)huffman编码常用来译码,请用语言叙述写出其译码的过程。

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):按树状打印二叉树。

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