数据结构(第2版)-在线作业D答案

合集下载

《数据结构》课后习题答案(第2版)

《数据结构》课后习题答案(第2版)

《数据结构》课后习题答案(第2版)数据结构课后习题答案(第2版)第一章:基本概念1. 什么是数据结构?数据结构是指数据元素之间的关系,以及相应的操作。

它研究如何组织、存储和管理数据,以及如何进行高效的数据操作。

2. 数据结构的分类有哪些?数据结构可以分为线性结构和非线性结构。

线性结构包括数组、链表、栈和队列;非线性结构包括树和图。

3. 什么是算法?算法是解决特定问题的一系列有序步骤。

它描述了如何输入数据、处理数据,并产生期望的输出结果。

4. 算法的特性有哪些?算法具有确定性、有限性、输入、输出和可行性这五个特性。

5. 数据结构和算法之间的关系是什么?数据结构是算法的基础,算法操作的对象是数据结构。

第二章:线性表1. 顺序表的两种实现方式是什么?顺序表可以通过静态分配或动态分配的方式实现。

静态分配使用数组,动态分配使用指针和动态内存分配。

2. 单链表的特点是什么?单链表由节点组成,每个节点包含数据和一个指向下一个节点的指针。

它的插入和删除操作效率高,但是查找效率较低。

3. 循环链表和双向链表分别是什么?循环链表是一种特殊的单链表,在尾节点的指针指向头节点。

双向链表每个节点都有一个指向前一个节点和后一个节点的指针。

4. 链表和顺序表的区别是什么?链表的插入和删除操作效率更高,但是查找操作效率较低;顺序表的插入和删除操作效率较低,但是查找操作效率较高。

第三章:栈和队列1. 栈是什么?栈是一种特殊的线性表,只能在表的一端进行插入和删除操作。

后进先出(LIFO)是栈的特点。

2. 队列是什么?队列是一种特殊的线性表,只能在表的一端进行插入操作,在另一端进行删除操作。

先进先出(FIFO)是队列的特点。

3. 栈和队列的应用有哪些?栈和队列在计算机科学中有广泛的应用,例如浏览器的前进后退功能使用了栈,操作系统的进程调度使用了队列。

4. 栈和队列有哪些实现方式?栈和队列可以使用数组或链表来实现,还有更为复杂的如双端队列和优先队列。

数据结构(C语言版)(第2版)课后习题答案

数据结构(C语言版)(第2版)课后习题答案

数据结构(C语言版)(第2版)课后习题答案李冬梅2015.3目录第1章绪论 (1)第2章线性表 (5)第3章栈和队列 (13)第4章串、数组和广义表 (26)第5章树和二叉树 (33)第6章图 (42)第7章查找 (54)第8章排序 (65)第1章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。

如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。

数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。

在有些情况下,数据元素也称为元素、结点、记录等。

数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。

数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。

例如,学生基本信息表中的学号、姓名、性别等都是数据项。

数据对象:是性质相同的数据元素的集合,是数据的一个子集。

例如:整数数据对象是集合N={0,±1,±2,…},字母字符数据对象是集合C={‘A’,‘B’,…,‘Z’,‘a’,‘b’,…,‘z’},学生基本信息表也可是一个数据对象。

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。

逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。

存储结构:数据对象在计算机中的存储表示,也称为物理结构。

抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。

具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。

数据结构(C语言版)第2版习题-答案

数据结构(C语言版)第2版习题-答案

数据结构(C语言版)(第2版)课后习题答案李冬梅2015.3目录第1章绪论 (1)第2章线性表 (5)第3章栈和队列 (14)第4章串、数组和广义表 (27)第5章树和二叉树 (34)第6章图 (44)第7章查找 (55)第8章排序 (66)第1章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。

如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。

数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。

在有些情况下,数据元素也称为元素、结点、记录等。

数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。

数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。

例如,学生基本信息表中的学号、姓名、性别等都是数据项。

数据对象:是性质相同的数据元素的集合,是数据的一个子集。

例如:整数数据对象是集合N={0,±1,±2,…},字母字符数据对象是集合C={‘A’,‘B’,…,‘Z’,‘a’,‘b’,…,‘z’},学生基本信息表也可是一个数据对象。

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。

逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。

存储结构:数据对象在计算机中的存储表示,也称为物理结构。

抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。

具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。

《数据结构》课后习题答案(第2版)

《数据结构》课后习题答案(第2版)

1 填空题(1)数据元素(2)数据项数据元素(3)集合线性结构树结构图结构(4)顺序存储链接存储数据元素数据元素之间的关系(5)零或多个输入一个或多个输出有穷性确定性可行性(6)自然语言程序设计语言流程图伪代码,伪代码(7)问题规模(8)O(1) O(nlog2n)2 选择题(1)C D (2)B (3) B (4) A (5) D (6)A (7) C (8) C E3 判断题×××√×第二章1 填空题(1)表长一半表长位置(2)108(3)p->next=(p->next)->next;(4)运算方便(5)p->next=head;(6)s->next=rear->next rear->next=s; rear=s;q=rear->next->next; rear->next->next=q->next; delete q;(7)O(1) O(n)(8)循环单链表循环双链表双链表2 选择题(1) A B (2) D (3) B (4) A (5) A (6) D(7) B(8) B(9) C(10)B(11)B(12)D(13)A(14)A3 判断题×××××1 填空题(1)1003H(2)顺序栈和链栈top=-1或top==NULL top==数组长度或内存无可用空间(3)栈(4)abc+*d-(5)后进先出先进先出操作位置受限(6)假溢出(7)(rear-front+n)% n(8)O(1) O(n)2 选择题(1) C (2) D (3) C (4) B(5) B(6) B(7) D(8) A(9) C3 判断题×√√××第四章1 填空题(1)数据元素的类型是字符(2)长度相等且对应位置字符相等(3)存取修改顺序存储(4)1140(5)d+41(6)三元组顺序表十字链表2 选择题(1) B (2) D E K (3) B (4) C(5) D(6) C(7) D3 判断题×√√××1 填空题(1)有且仅有一个互不相交(2)度孩子双亲(3)2i-1(n+1)/2 (n-1)/2 (4)2h-1 2h-1(5)2k-1(6)50(7)12(8)CDBGFEA (9)2n n-1 n+1 (10)n n-12 选择题(1) D (2) D (3) B (4) C (5) B C (6) D(7) A(8) A B(9) D A(10)B(11)B(12)C(13)D(14)C3 判断题×√×√×第六章1 填空题(1)0 n(n-1)/2 0 n(n-1) (2)自身(3)邻接矩阵邻接表(4)O(n+e)(5)第j列所有元素之和(6)出度(7)前序栈层序队列(8)O(n2) O(elog2e) (9)回路(10)v i v j v k2 选择题(1) c (2) A G (3) C (4) B (5) D (6) C F(7) B(8) D(9) A(10)A(11)A(12)C(13)A(14)C C F(15)B3 判断题√√××××√×1 填空题(1)顺序存储和链接存储顺序存储按照关键码有序(2) 1 ,7(3)8,59/15(4) 4(5)62(6)开放定址法拉链法(7)散列查找(8)通过关键码计算记录的存储地址并进行一定的比较2 选择题(1) B (2) D B (3) A D (4) D (5) A(6) C(7) C(8) B(9) D(10)A(11)C(12)D3 判断题×××××第八章1 填空题(1)查找(2)正序n-1 反序n(n-1)/2 (3) 3(4) 3(5)O(nlog2n) O(n)(6)n-1(7)50(8)602 选择题(1) C (2) C (3) C (4) B (5) A (6) A(7) B C B(8) C(9) D(10)A D(11)B(12)D,B,E,A,C(13)C,A,D,B,B,D,F(14)C(15)D3 判断题×√××√。

数据结构C语言版第2版课后习题答案

数据结构C语言版第2版课后习题答案

数据结构(C语言版)(第2版) 课后习题答案李冬梅2015.3目录第 章 绪论 第 章 线性表 第 章 栈和队列 第 章 串、数组和广义表 第 章 树和二叉树 第 章 图 第 章 查找 第 章 排序第 章 绪论.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。

如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。

数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。

在有些情况下,数据元素也称为元素、结点、记录等。

数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。

数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。

例如,学生基本信息表中的学号、姓名、性别等都是数据项。

数据对象:是性质相同的数据元素的集合,是数据的一个子集。

例如:整数数据对象是集合 ,± ,± ,… ,字母字符数页脚内容据对象是集合 , ,…, , , ,…, ,学生基本信息表也可是一个数据对象。

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。

逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。

存储结构:数据对象在计算机中的存储表示,也称为物理结构。

抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。

具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。

.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。

中国铁道出版社《数据结构》第二版习题答案

中国铁道出版社《数据结构》第二版习题答案

《数据结构》习题答案习题1一、选择题:1、C2、B3、B4、B D5、C6、A7、C B8、D9、B 10、D二、填空题:1、相互关系2、一对一、一对多、多对多3、线性结构、集合、图、树4、有穷性、确定性、可行性、输入、输出5、O(n)6、O(n2)7、物理8、(1)、(log2n)、(n)、(n2)、(2n)、实际不可计算9、数据元素三、应用题:1、O(n/2)。

2、(略)。

3、(略)。

4、(略)。

5、(1)语句k+=10*i的频度为:n-1;(2)语句k++的频度为:n2。

四、算法设计题:1、算法程序如下:void main(){int x,y,z,temp;printf(“请输入3个整数:\n”);scanf(“%d%d%d”,&x,&y,&z);if (x<y){temp=x;x=y;y=temp;}if(x<z){temp=x;x=z;z=temp;}if(y<z){temp=y;y=z;z=temp;}printf(%d\t%d\t%d\n”,x,y,z);}2、算法程序如下:void main(){int a[10],i,max,min;printf(“请输入10个整数:\n”);for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(max=min=a[0],i=1;i<10;i++){if(max<a[i])max=a[i];if(min>a[i])min=a[i];}printf(“max=%d,min=%d\n”,max,min);}习题2一、选择题:1、A2、D3、B4、C5、B6、C7、D8、C9、B 10、C 11、D 12、C13、B 14、A 15、D 16、A 17、C 18、B 19、D 20、D二、填空题:1、元素、首、尾、位置、前趋、后继2、前趋、前趋、后继、后继3、线性4、顺序、长度5、q=p->next;p->next=q->next;free(q);6、p->next=head;7、q=rear->next->next;rear->next->next=q->next;free(q);三、应用题:(略)四、算法设计题:(略)习题3一、选择题:1、A2、B3、A4、C5、A6、B7、C8、C9、B 10、C二、填空题:1、n-12、x=top->data;top=top->next;3、n-14、b,c,e,d,a5、if((rear+1)%(m+1)=front)return (eof);else{rear=(rear+1)%(m+1);A[rear]=x;return 1;}6、FILO、FIFO、只允许在端点处进行插入(删除)操作7、栈8、队尾9、队满、队空三、应用题:(略)四、算法设计题:(略)习题4一、选择题:1、C2、A3、A4、B5、B6、C7、B8、A9、C 10、C二、填空题:1、3152、11、313、i(i-1)/2+j4、((0,2,2),(1,0,3),(2,2,-1),(2,3,5))5、N(N+1)/26、(d1-c1+1)*(d2-c2+1)*(d3-c3+1)7、15648、22109、GetTail(GetTail(GetHead(GetHead(GetTail(s)))))10、5、3三、应用题:1、(1)数组A的容量:6*8*6=288(字节)(2)行优先存储A[1,4]的地址:1000+3*6=1018(3)列优先存储A[4,7]的地址:1000+(6*6+3)*6=12342、(1)M含有的数据元素数目:2*7*6=84(2)M[2,2,2]的地址:100+(6*6+3)*2=178M[3,-3,3]的地址:100+(7*6+1*6+4)*2=204M[3,0,0]的地址:100+(6*7+4*6+1)*2=2343、A[15,15]按行压缩存储前面的元素个数是:3+4+5*13+2=54所以A[15,15]在B中的下标是:55-21=344、(略)。

数据结构第2版习题答案解析-严蔚敏

数据结构第2版习题答案解析-严蔚敏

数据结构(C语言版)(第2版)课后习题答案李冬梅目录第1章绪论............................................. 错误!未定义书签。

第2章线性表........................................... 错误!未定义书签。

第3章栈和队列......................................... 错误!未定义书签。

第4章串、数组和广义表................................. 错误!未定义书签。

第5章树和二叉树....................................... 错误!未定义书签。

第6章图................................................ 错误!未定义书签。

第7章查找............................................. 错误!未定义书签。

第8章排序............................................. 错误!未定义书签。

第1章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。

如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。

数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。

在有些情况下,数据元素也称为元素、结点、记录等。

数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。

数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。

例如,学生基本信息表中的学号、姓名、性别等都是数据项。

东大22年春学期《数据结构Ⅱ》在线平时作业1【参考答案】

东大22年春学期《数据结构Ⅱ》在线平时作业1【参考答案】

《数据结构Ⅱ》在线平时作业1-00001
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.用二叉链表表示具有n个结点的二叉树时,值为空的指针域的个数为
A.n-1
B.n
C.n+l
D.2n
正确答案:C
2.已知含10个结点的二叉排序树是一棵完全二叉树,则该二叉排序树在等概率情况下查找成功的平均查找长度等于
A.1.0
B.2.9
C.3.4
D.5.5
正确答案:B
3.对长度为n的关键字序列进行堆排序的空间复杂度为
A.O(log2n)
B.O(1)
C.O(n)
D.O(n*log2n)
正确答案:B
4.已知含6个顶点(v0,v1,v2,v3,v4,v5)的无向图的邻接矩阵如图所示,则从顶点v0出发进行深度优先遍历可能得到的顶点访问序列为
A..(v0,v1,v2,v5,v4,v3)
B.(v0,v1,v2,v3,v4,v5)
C.(v0,v1,v5,v2,v3,v4)
D..(v0,v1,v4,v5,v2,v3)
正确答案:B
5.n个顶点的有向完全图中含有向边的数目最多为
A.n-1
B.n
C.n(n-1)/2
D.n(n-1)
正确答案:D
6.在以单链表为存储结构的线性表中,数据元素之间的逻辑关系用
A.数据元素的相邻地址表示
B.数据元素在表中的序号表示
C.指向后继元素的指针表示。

数据结构(第2版)-在线作业_D 答案

数据结构(第2版)-在线作业_D 答案

数据结构(第2版)-在线作业_D 用户名:W7最终成绩:95.0一单项选择题1.设链表中指针p指向结点a,若要删除a之后的结点,所需要的操作为()。

p->next =pp=p->nextp->next = p->next->nextp=p->next->next本题分值: 5.0用户得分: 5.0用户解答:p->next = p->next->next知识点: 2.3 链接存储结构线性表2.假定一个链式的栈顶指针用top表示,每个结点的结构为 struct NODE { int data; struct NODE* np;}; 出栈时所进行的指针操作为()。

top = top->datatop=top->nptop->np=top->np->nptop->np = top本题分值: 5.0用户得分: 5.0用户解答:top=top->np知识点: 3.2 堆栈3.h+m=2nm=h-1n=2h-1n=h+m本题分值: 5.0用户得分: 5.0用户解答:n=2h-1知识点: 4.2 二叉树4.3546本题分值: 5.0用户得分: 5.0用户解答: 4知识点: 4.4 Huffman树及应用5.76 85对一个满二叉树,m个树叶,n个结点,深度为h,则他们之间的关系是()。

利用3,6,8,12,5,7作为叶子结点的权重,生成一棵Huffman树,该树的深度为()。

具有6个顶点的无向图至少要()条边才能确保图是一个连通图。

本题分值: 5.0用户得分: 5.0用户解答: 5知识点: 5.1 图的基本术语与定义6.如果要求线性表既能支持较快地查找,又能适应数据动态变化的要求,你认为可以采用()查找方法。

折半分块散列顺序本题分值: 5.0用户得分: 5.0用户解答:分块知识点: 6.2 查找算法7.排序方法中,从未排序序列中依次取出元素与已排序序列中的元素顺序进行比较,将其放入排序序列的正确位置的方法称为()。

数据结构(第二版)课后习题答案

数据结构(第二版)课后习题答案

数据结构(第二版)课后习题答案第一章:数据结构概述数据结构是计算机科学中非常重要的一个概念,它用于组织和管理计算机内部存储的数据。

数据结构的设计直接影响到程序的运行效率和对真实世界问题的建模能力。

第二版的《数据结构》教材旨在帮助读者更好地理解和应用数据结构。

为了提高学习效果,每章节后都附有一系列习题。

本文将为第二版《数据结构》教材中的部分习题提供详细的答案和解析。

第二章:线性表2.1 顺序表习题1:请问如何判断顺序表是否为空表?答案:当顺序表的长度为0时,即为空表。

解析:顺序表是用一块连续的内存空间存储数据元素的线性结构。

当顺序表中没有元素时,长度为0,即为空表。

习题2:如何求顺序表中第i个元素的值?答案:可以通过访问顺序表的第i-1个位置来获取第i个元素的值。

解析:顺序表中的元素在内存中是连续存储的,通过下标访问元素时,需要将下标减1,因为数组是从0开始编号的。

2.2 链表习题1:请问链表中的结点包含哪些信息?答案:链表的结点一般包含两部分信息:数据域和指针域。

解析:数据域用于存储数据元素的值,指针域用于存储指向下一个结点的指针。

习题2:如何删除链表中的一个结点?答案:删除链表中的一个结点需要将其前一个结点的指针指向其后一个结点,然后释放被删除结点的内存空间。

解析:链表的删除操作相对简单,只需要通过修改指针的指向即可。

但需要注意释放被删除结点的内存空间,防止内存泄漏。

第三章:栈和队列3.1 栈习题1:如何判断栈是否为空?答案:当栈中没有任何元素时,即为空栈。

解析:栈是一种先进后出(Last In First Out,LIFO)的数据结构,栈顶指针指向栈顶元素。

当栈中没有元素时,栈顶指针为空。

习题2:请问入栈和出栈操作的时间复杂度是多少?答案:入栈和出栈操作的时间复杂度均为O(1)。

解析:栈的入栈和出栈操作只涉及栈顶指针的改变,不受栈中元素数量的影响,因此时间复杂度为O(1)。

3.2 队列习题1:请问队列可以用哪些方式实现?答案:队列可以用数组或链表来实现。

《数据结构(Java版)(第2版)》习题解答

《数据结构(Java版)(第2版)》习题解答

数据结构(Java版)(第2版)习题解答叶核亚编著目录第0章Java程序设计基础 (1)【习0.1】实验0.1 哥德巴赫猜想。

(1)【习0.2】实验0.2 杨辉三角形。

(1)【习0.3】实验0.3 金额的中文大写形式。

(1)【习0.4】实验0.4 下标和相等的数字方阵。

(1)【习0.5】实验0.5 找出一个二维数组的鞍点 (2)【习0.6】实验0.6 复数类。

(2)【习0.7】实验0.8 图形接口与实现图形接口的类 (2)第1章绪论 (3)【习1.1】实验1.1 判断数组元素是否已按升序排序。

(3)【习1.2】实验1.3 用递归算法求两个整数的最大公因数。

(3)第2章线性表 (5)【习2.1】习2-5 图2.19的数据结构声明。

(5)【习2.2】习2-6 如果在遍历单链表时,将p=p.next语句写成p.next=p,结果会怎样? (5)【习2.3】实验2.2 由指定数组中的多个对象构造单链表。

(5)【习2.4】实验2.2 单链表的查找、包含、删除操作详见8.2.1。

(5)【习2.5】实验2.2 单链表的替换操作。

(6)【习2.6】实验2.2 首尾相接地连接两条单链表。

(6)【习2.7】实验2.2 复制单链表。

(6)【习2.8】实验2.2 单链表构造、复制、比较等操作的递归方法。

(7)【习2.9】建立按升序排序的单链表(不带头结点)。

(8)【习2.10】实验2.6 带头结点的循环双链表类,实现线性表接口。

(10)【习2.11】实验2.5 建立按升序排序的循环双链表。

(14)第3章栈和队列 (17)【习3.1】习3-5 栈和队列有何异同? (17)【习3.2】能否将栈声明为继承线性表,入栈方法是add(0,e),出栈方法是remove(0)?为什么? (17)【习3.3】能否用一个线性表作为栈的成员变量,入栈方法是add(0,e),出栈方法是remove(0)?为什么? (17)【习3.4】能否将队列声明为继承线性表,入队方法是add(e),出队方法是remove(0)?为什么? (17)第4章串 (18)【习4.1】实验4.6 找出两个字符串中所有共同的字符。

数据结构(第二版)课后习题答案(王红梅主编)

数据结构(第二版)课后习题答案(王红梅主编)

第 1 章绪论课后习题讲解1. 填空⑴()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

【解答】数据元素⑵()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。

【解答】数据项,数据元素【分析】数据结构指的是数据元素以及数据元素之间的关系。

⑶从逻辑关系上讲,数据结构主要分为()、()、()和()。

【解答】集合,线性结构,树结构,图结构⑷数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。

【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系⑸算法具有五个特性,分别是()、()、()、()、()。

【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性⑹算法的描述方法通常有()、()、()和()四种,其中,()被称为算法语言。

【解答】自然语言,程序设计语言,流程图,伪代码,伪代码⑺在一般情况下,一个算法的时间复杂度是()的函数。

【解答】问题规模⑻设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。

【解答】Ο(1),Ο(nlog2n)【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。

2. 选择题⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。

A 线性结构B 非线性结构C 存储位置D 指针【解答】C,D【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。

⑵假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。

则表示该遗产继承关系的最合适的数据结构应该是()。

数据结构(C语言版)(第2版)课后习题答案

数据结构(C语言版)(第2版)课后习题答案

数据结构(C语言版)(第2版)课后习题答案李冬梅2015.3目录第1章绪论 (1)第2章线性表 (5)第3章栈和队列 (14)第4章串、数组和广义表 (27)第5章树和二叉树 (34)第6章图 (43)第7章查找 (55)第8章排序 (66)第1章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。

如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。

数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。

在有些情况下,数据元素也称为元素、结点、记录等。

数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。

数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。

例如,学生基本信息表中的学号、姓名、性别等都是数据项。

数据对象:是性质相同的数据元素的集合,是数据的一个子集。

例如:整数数据对象是集合N={0,±1,±2,…},字母字符数据对象是集合C={‘A’,‘B’,…,‘Z’,‘a’,‘b’,…,‘z’},学生基本信息表也可是一个数据对象。

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。

逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。

存储结构:数据对象在计算机中的存储表示,也称为物理结构。

抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。

具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。

数据结构第2版习题答案—

数据结构第2版习题答案—

数据结构(C语言版)(第2版)课后习题答案xx2015.3目录第1章绪论..................................................................................错误!未定义书签。

第2章线性表 ..............................................................................错误!未定义书签。

第3章栈和队列...........................................................................错误!未定义书签。

第4章串、数组和广义表 ...........................................................错误!未定义书签。

第5章树和二叉树.......................................................................错误!未定义书签。

第6章图........................................................................................错误!未定义书签。

第7章查找 ..................................................................................错误!未定义书签。

第8章排序..................................................................................错误!未定义书签。

II数据结构第2版习题答案—第1xx 绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

清华大学出版社数据结构(C 版)(第2版)课后习题答案最全整理

清华大学出版社数据结构(C  版)(第2版)课后习题答案最全整理

第1 章绪论课后习题讲解1. 填空⑴()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

【解答】数据元素⑵()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。

【解答】数据项,数据元素【分析】数据结构指的是数据元素以及数据元素之间的关系。

⑶从逻辑关系上讲,数据结构主要分为()、()、()和()。

【解答】集合,线性结构,树结构,图结构⑷数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。

【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系⑸算法具有五个特性,分别是()、()、()、()、()。

【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性⑹算法的描述方法通常有()、()、()和()四种,其中,()被称为算法语言。

【解答】自然语言,程序设计语言,流程图,伪代码,伪代码⑺在一般情况下,一个算法的时间复杂度是()的函数。

【解答】问题规模⑻设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。

【解答】Ο(1),Ο(nlog2n)【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。

2. 选择题⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。

A 线性结构B 非线性结构C 存储位置D 指针【解答】C,D【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。

⑵假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。

则表示该遗产继承关系的最合适的数据结构应该是()。

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

数据结构(第2版)-在线作业_D 用户名:W3最终成绩:95.0
一 单项选择题
1.
p->next =p
p=p->next
p->next = p->next->next p=p->next->next
本题分值: 5.0 用户得分: 5.0
用户解答: p->next = p->next->next 知识点: 2.3 链接存储结构线性表
2.
top = top->data
top=top->np
top->np=top->np->np top->np = top
本题分值: 5.0 用户得分: 5.0
用户解答: top=top->np 知识点: 3.2 堆栈
3.
设链表中指针p 指向结点a ,若要删除a 之后的结点,所需要的操作为( )。

假定一个链式的栈顶指针用top 表示,每个结点的结构为 struct NODE { int data; struct NODE* np;}; 出栈时所进行的指针操作为( )。

对一个满二叉树,m 个树叶,n 个结点,深度为h ,则他们之间的关系是( )。

h+m=2n
m=h-1
n=2h-1 n=h+m
本题分值: 5.0 用户得分: 5.0 用户解答: n=2h-1 知识点: 4.2 二叉树
4.
3
5
4 6
本题分值: 5.0 用户得分: 5.0 用户解答: 4
知识点: 4.4 Huffman 树及应用
5.
7
6
8 5
本题分值: 5.0 用户得分: 5.0 用户解答: 5
知识点:
5.1 图的基本术语与定义
利用3,6,8,12,5,7作为叶子结点的权重,生成一棵Huffman 树,该树的深度为( )。

具有6个顶点的无向图至少要( )条边才能确保图是一个连通图。

6.
折半
分块
散列
顺序
本题分值: 5.0 用户得分: 5.0 用户解答: 分块
知识点: 6.2 查找算法
7.
快速排序
插入排序
希尔排序
堆排序
本题分值: 5.0 用户得分: 5.0
用户解答: 希尔排序 知识点: 7 排序
8.
数据完全无序
数据中关键字存在大量重复
数据量巨大
数据基本有序
如果要求线性表既能支持较快地查找,又能适应数据动态变化的要求,你认为可以采用( )查找方法。

排序方法中,从未排序序列中依次取出元素与已排序序列中的元素顺序进行比较,将其放入排序序列的正确位置的方法称为( )。

快速排序在( )情况下优势最明显。

本题分值: 5.0 用户得分: 5.0
用户解答: 数据完全无序 知识点: 7.4 快速排序
9.
q->next = p ,
q->prior = p->prior p->prior->next = q ,
q->prior = p->prior q->next = p ,
p->prior = q p->prior->next = q ,q->next = p
本题分值: 5.0 用户得分: 5.0
用户解答: q->next = p ,q->prior = p->prior 知识点: 2.3 链接存储结构线性表
10.
abcde
decba
edcba dceab
本题分值: 5.0 用户得分: 5.0 用户解答: dceab 知识点: 3.2 堆栈
11.
Dijkstra 算法
Prim 算法
Huffman 算法
指针p 指向双向链表中的结点a i ,a i-1为a i 的直接前趋结点,指针q 指向将要插入的结点x 。

x 插入在结点a i 与a i-1之间,需要进行的操作依次为( )。

一个栈的入栈序列是 a,b,c,d,e, 则不可能的出栈序列是( )。

一个加权连通无向图的最小生成树可以用( )算法生成。

本题分值: 5.0 用户得分: 5.0
用户解答: Prim 算法
知识点: 5.1 图的基本术语与定义
12.
压缩存储
算列存储
顺序存储和链接存储
索引存储
本题分值: 5.0 用户得分: 5.0
用户解答: 顺序存储和链接存储 知识点: 6.2 查找算法
13.
堆排序
希尔排序
冒泡排序
快速排序
本题分值: 5.0 用户得分: 5.0
用户解答: 希尔排序 知识点: 7 排序
14.
深度优先遍历
顺序查找法适合于存储结构为( )的线性表。

有些排序算法在每趟排序过程中,都会有一个数据元素被放置到最终的正确位置上,下列算法中,哪一个算法不会出现这种情况?( )
除了使用拓扑排序的方法外,利用下面算法中那一种可以判断出一个有向图是否存在环路?( )
求出最小生成树
本题分值: 5.0 用户得分: 5.0
用户解答: 深度优先遍历
知识点: 5.1 图的基本术语与定义
15.
5
4
6 10
本题分值: 5.0 用户得分: 5.0 用户解答: 4
知识点: 6.2 查找算法
16.
n
n(n-1)/2
n(n-1) n(n+1)/2
本题分值: 5.0 用户得分: 5.0 用户解答: n(n-1)
知识点: 5.1 图的基本术语与定义
17.
给定关键字序列{6,3,8,4,2,9,7,1,5,12},应用排序二叉树建立索引,查找任意数据最高的数据比较判定次数不会超过( )次。

在一个具有n 个顶点的有向完全图中,含有边的总数为( )。

本题分值: 5.0 用户得分: 0.0 用户解答:
知识点: 6.2 查找算法
18.
38
43
36 31
本题分值: 5.0 用户得分: 5.0 用户解答: 36
知识点: 5.1 图的基本术语与定义
19.
本题分值: 5.0 用户得分: 5.0
用户解答:
知识点: 6.2 查找算法
设线性表关键字集合为:key={32,13,49,55,22,39,20},选取散列函数为“除留余数法”:H (key )=hey%7,应用线性探测法解决地址冲突,求出关键字集合在0-7地址空间的散列结果,正确的一项是( )。

已知带权无向图如下,该图最小生成树中各边上的权值之和为( )。

给定一组关键字:
19,1,23,14,55,20,84,27,68,11,10,77 应用散列函数:H (key )=key%13
采用开放地址法中线性探测法解决冲突,试在0-18地址空间中构建散列表,给出散列存储结果,正确的一项是( )。

20.
2n
2n-2
n n-1
本题分值: 5.0 用户得分: 5.0 用户解答: n
知识点:
5.1 图的基本术语与定义
有n 个结点的强连通图的邻接矩阵中至少有( )个非零元素。

相关文档
最新文档