严蔚敏《数据结构》(第2版)配套模拟试题及详解(一)【圣才出品】

合集下载

数据结构(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’},学生基本信息表也可是一个数据对象。

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

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

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

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

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

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

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

《数据结构》第二版严蔚敏课后习题作业参考答案(1-7章)

《数据结构》第二版严蔚敏课后习题作业参考答案(1-7章)

第1章4.答案:(1)顺序存储结构顺序存储结构是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,通常借助程序设计语言的数组类型来描述。

(2)链式存储结构顺序存储结构要求所有的元素依次存放在一片连续的存储空间中,而链式存储结构,无需占用一整块存储空间。

但为了表示结点之间的关系,需要给每个结点附加指针字段,用于存放后继元素的存储地址。

所以链式存储结构通常借助于程序设计语言的指针类型来描述。

5. 选择题(1)~(6):CCBDDA6.(1)O(1) (2)O(m*n) (3)O(n2)(4)O(log3n) (5)O(n2) (6)O(n)第2章1.选择题(1)~(5):BABAD (6)~(10):BCABD (11)~(15):CDDAC 2.算法设计题(1)将两个递增的有序链表合并为一个递增的有序链表。

要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。

表中不允许有重复的数据。

[题目分析]合并后的新表使用头指针Lc指向,pa和pb分别是链表La和Lb的工作指针,初始化为相应链表的第一个结点,从第一个结点开始进行比较,当两个链表La和Lb均为到达表尾结点时,依次摘取其中较小者重新链接在Lc表的最后。

如果两个表中的元素相等,只摘取La表中的元素,删除Lb表中的元素,这样确保合并后表中无重复的元素。

当一个表到达表尾结点,为空时,将非空表的剩余元素直接链接在Lc表的最后。

void MergeList(LinkList &La,LinkList &Lb,LinkList &Lc){//合并链表La和Lb,合并后的新表使用头指针Lc指向pa=La->next; pb=Lb->next;//pa和pb分别是链表La和Lb的工作指针,初始化为相应链表的第一个结点Lc=pc=La; //用La的头结点作为Lc的头结点while(pa && pb){ if(pa->data<pb->data){pc->next=pa; pc=pa; pa=pa->next;}//取较小者La中的元素,将pa链接在pc的后面,pa指针后移else if(pa->data>pb->data) {pc->next=pb; pc=pb; pb=pb->next;}//取较小者Lb中的元素,将pb链接在pc的后面,pb指针后移else //相等时取La中的元素,删除Lb中的元素{pc->next=pa;pc=pa;pa=pa->next;q=pb->next; delete pb ; pb =q;}}pc->next=pa?pa:pb; //插入剩余段delete Lb; //释放Lb的头结点}(5)设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B、C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A中的元素为非零整数,要求B、C表利用A表的结点)。

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

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

)。

第2章线性表1 .选择题(1)顺序表中 第一个 元素的存储 地址是100,每个元素的 长度为2,则第5个元素的 地址是( )。

A . 110 答案:B 解释:顺序表中的数据连续存储,所以第D . 120 5个元素的地址为: 100+2*4=108。

(3)向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移 动的元素个数为( )。

C . 63 A . 8 B . 答案:B 解释:平均要移动的元素个数为: (4) 链接存储的存储结构所占存储空间(n/2。

)。

A .分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 B .只有一部分,存放结点值C .只有一部分,存储表示结点间关系的指针D .分两部分,一部分存放结点值,另一部分存放结点所占单元数答案:A(5) 线性表若采用链式存储结构时,要求内存中可用存储单元的地址(A .必须是连续的C . 一定是不连续的答案:D(6) 线性表1在( B •部分地址必须是连续的D •连续或不连续都可以)情况下适用于使用链式结构实现。

B.需不断对L 进行删除插入 D.L 中结点结构复杂A .需经常修改L 中的结点值C . L中含有大量的结点答案:B解释:链表最大的优点在于插入和删除时不需要移动数据,直接修改指针即可。

(7) 单链表的存储密度( )。

A .大于1 B .等于1答案:C 解释:存储密度是指一个结点数据本身所占的存储空间和整个结点所占的存储空间之比,假设单链表一个结点本身所占的空间为 D ,指针域所占的空间为 N ,则存储密度为:D/(D+N),—定小于 1。

(8) 将两个各有 n 个元素的有序表归并成一个有序表,其最少的比较次数是(C •小于1D •不能确定 B . 2n-1 C . 2n D . n-1C . 100答案:A解释:当第一个有序表中所有的元素都小于(或大于)第二个表中的元素,只需 要用第二个表中的第一个元素依次与第一个表的元素比较,总计比较n 次。

《数据结构》第二版严蔚敏课后习题作业参考答案(1-7章)

《数据结构》第二版严蔚敏课后习题作业参考答案(1-7章)

《数据结构》第二版严蔚敏课后习题作业参考答案(1-7章)【第一章绪论】1. 数据结构是计算机科学中的重要基础知识,它研究的是如何组织和存储数据,以及如何通过高效的算法进行数据的操作和处理。

本章主要介绍了数据结构的基本概念和发展历程。

【第二章线性表】1. 线性表是由一组数据元素组成的数据结构,它的特点是元素之间存在着一对一的线性关系。

本章主要介绍了线性表的顺序存储结构和链式存储结构,以及它们的操作和应用。

【第三章栈与队列】1. 栈是一种特殊的线性表,它的特点是只能在表的一端进行插入和删除操作。

本章主要介绍了栈的顺序存储结构和链式存储结构,以及栈的应用场景。

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

本章主要介绍了队列的顺序存储结构和链式存储结构,以及队列的应用场景。

【第四章串】1. 串是由零个或多个字符组成的有限序列,它是一种线性表的特例。

本章主要介绍了串的存储结构和基本操作,以及串的模式匹配算法。

【第五章数组与广义表】1. 数组是一种线性表的顺序存储结构,它的特点是所有元素都具有相同数据类型。

本章主要介绍了一维数组和多维数组的存储结构和基本操作,以及广义表的概念和表示方法。

【第六章树与二叉树】1. 树是一种非线性的数据结构,它的特点是一个节点可以有多个子节点。

本章主要介绍了树的基本概念和属性,以及树的存储结构和遍历算法。

2. 二叉树是一种特殊的树,它的每个节点最多只有两个子节点。

本章主要介绍了二叉树的存储结构和遍历算法,以及一些特殊的二叉树。

【第七章图】1. 图是一种非线性的数据结构,它由顶点集合和边集合组成。

本章主要介绍了图的基本概念和属性,以及图的存储结构和遍历算法。

【总结】1. 数据结构是计算机科学中非常重要的一门基础课程,它关注的是如何高效地组织和存储数据,以及如何通过算法进行数据的操作和处理。

本文对《数据结构》第二版严蔚敏的课后习题作业提供了参考答案,涵盖了第1-7章的内容。

数据结构(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’},学生基本信息表也可是一个数据对象。

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

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

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

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

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

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

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

数据结构(C语言版)第2版习题答案—严蔚敏

数据结构(C语言版)第2版习题答案—严蔚敏

数据结构(C语言版)(第2版)课后习题答案李冬梅2015.3目录第1章绪论 (1)第2章线性表 (9)第3章栈和队列 (26)第4章串、数组和广义表 (52)第5章树和二叉树 (65)第6章图 (85)第7章查找 (106)第8章排序 (126)II。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

严蔚敏《数据结构》配套复习资料(1-3章)【圣才出品】

严蔚敏《数据结构》配套复习资料(1-3章)【圣才出品】
1 / 155
圣才电子书 十万种考研考证电子书、题库视频学习平台

③树形结构:数据元素之间存在一个对多个的关系。 ④图状结构或网状结构:数据元素之间存在多个对多个的关系。 【注意】区分这四种基本结构可以根据元素间的对应关系。 如图 1-1 所示为上述四类基本结构的关系图。
圣才电子书 十万种考研考证电子书、题库视频学习平台

第1章 绪 论
1.1 复习笔记
一、什么是数据结构 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的 关系和操作等的学科。
二、基本概念和术语 1.数据 数据是对客观事物的符号表示,是计算机科学中所有能输入到计算机中并能被计算机程 序处理的符号的总称。
圣才电子书 十万种考研考证电子书、题库视频学习平台

构)。 其中,关系有两种表示方法:顺序映象和非顺序映象。这两种表示方法对应两种存储结 构:顺序存储结构和链式存储结构。 a.顺序映象:用相对位置来表示数据元素之间的逻辑关系。 b.非顺序映象:用指针表示数据元素之间的逻辑关系。
5 / 155
圣才电子书 十万种考研考证电子书、题库视频学习平台

象数据类型。 答:(1)数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并 能被计算机程序处理的符号的总称。 (2)数据元素是数据的基本单位。 (3)数据对象是性质相同的数据元素的集合,是数据的一个子集。 (4)数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 (5)存储结构是数据结构在计算机中的表示(又称映象或数据的物理结构)。 (6)数据类型是一个值的集合和定义在这个值集上的一组操作的总称。 (7)抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。
3 / 155

严蔚敏《数据结构》(第2版)笔记和习题(含考研真题)详解

严蔚敏《数据结构》(第2版)笔记和习题(含考研真题)详解

目录分析
1.2强化习题详解
1.1复习笔记
1.3考研真题与典 型题详解
2.2强化习题详解
2.1复习笔记
2.3考研真题与典 型题详解
3.2强化习题详解
3.1复习笔记
3.3考研真题与典 型题详解
Hale Waihona Puke 4.2强化习题详解4.1复习笔记
4.3考研真题与典 型题详解
5.2强化习题详解
5.1复习笔记
5.3考研真题与典 型题详解
严蔚敏《数据结构》(第2版)笔 记和习题(含考研真题)详解
读书笔记模板
01 思维导图
03 目录分析 05 读书笔记
目录
02 内容摘要 04 作者介绍 06 精彩摘录
思维导图
关键字分析思维导图
习题
数据结构
笔记
名校
复习
重难点
第章
笔记
教材
真题 真题
存储管理
第版
典型
二叉树
习题 题
树 动态
内容摘要
严蔚敏所著的《数据结构》(第2版,清华大学出版社)是我国高校采用较多的计算机专业优秀教材,也被众 多高校指定为计算机专业考研参考书目。作为该教材的辅导书,本书具有以下几个方面的特点:1.整理名校笔记, 浓缩内容精华。在参考了国内外名校名师讲授严蔚敏《数据结构》的课堂笔记基础上,本书每章的复习笔记部分 对该章的重难点进行了整理,同时对重要知识点进行点拨,因此,本书的内容几乎浓缩了配套教材的知识精华。 2.归纳典型题,强化知识考点。为了进一步巩固和强化各章知识难点的复习,特针对该教材的重难点相应整理了 典型强化习题,并对相关知识点进行归纳和延伸,梳理知识点逻辑关系,以达到高效复习的目的。3.精选考研真 题,巩固重难点知识。为了强化对重要知识点的理解,本书精选了部分名校近几年的数据结构考研真题,这些高 校大部分以该教材作为考研参考书目。所选考研真题基本涵盖了各个章节的考点和难点,特别注重联系实际,凸 显当前热点。要深深牢记:考研不同一般考试,概念题(名词解释)要当作简答题来回答,简答题要当作论述题 来解答,而论述题的答案要像是论文,多答不扣分。有的论述题的答案简直就是一份优秀的论文(其实很多考研 真题就是选自一篇专题论文),完全需要当作论文来回答!
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

严蔚敏《数据结构》(第2版)配套模拟试题及详解(一)
一、单项选择题(每小题2分,共20分)
1.设Huffman树的叶与节点数为m,则节点的点数为()。

A.2m B.2m-1 C.2m+1 D.m+1
【答案】B
【解析】Huffman不存在一个分支的节点,对于任意的二叉树都有n0=n2+1,而n0 =m,故推出Huffman的总结点数为m+m-1。

2.若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储()个元素。

A.n B.n-1 C.n+l D.不确定
【答案】B
【解析】循环队列Q.rear==Q.front用来表示队列为空,而
(Q.rear+1.%QueueMaxSize == Q.front来判断队列是否已满。

也就是说循环队列需要一个额外的数据空间来表示循环队列已经存满的。

所以最多只能存n-1。

3.下述哪一条是顺序存储方式的优点?()
A.存储密度大B.插入和删除运算方便
C.获取符合某种条件的元素方便D.查找运算速度快
【答案】A
【解析】因为顺序存储方式把分配给存储单元全用来存放结点数据,结点之间的逻辑
数据。

4.设有一个二维数组A[m][n],假设A[0][0]存放位置在为
每个元素占一个空间.
A.658 B.648 C.633 D.653
【答案】D
【解析】根据二维数组地址计算公式LOC(A[i][j])= LOC(A[p][q])+ ((i −p)* n + (j − q))* t(t表示字节),把t=1、A[0][0]及 A[3][3]代入得到n = 25。

故A[2][3] = A[0][0]+(2*25+3.*1 = 653。

5.下列关于二叉树遍历的叙述中,正确的是()。

A.若一个树叶是某二叉树的中序遍历的最后一个节点,则它必是该二叉树的前序遍历最后一个节点
B.若一个节点是某二叉树的前序遍历最后一个节点,则它必是该二叉树的中序遍历的最后一个节点
C.若一个节点是菜二叉树的中序遍历的最后一个节点,则它必是该二叉树的前序最后一个节点
D.若一个树叶是某二叉树的前序遍历的最后一个节点,则它必是该二叉树的中序遍历最后一个节点
【解析】A项,最后一个叶子节点是左节点时前序遍历和中序遍历最后一个节点不一样。

BC项,比如树根节点没有右孩子,那么树根节点是中序遍历的最后一个节点,而树根节点是前序遍历的第一个节点。

6.k层二叉树的节点总数最多为()。

A.
B.
C.
D.
【答案】A
【解析】k层二叉树结点最多的情况就是满二叉树。

那么根据满二叉树的结点数计算公式可知答案为。

7.对线性表进行二分法查找,其前提条件是()。

A.线性表以链接方式存储,并且按关键码值排好序
B.线性表以顺序方式存储,并且按关键码值的检索频率排好序
C.线性表以顺序方式存储,并且按关键码值排好序
D.线性表以链接方式存储,并且按关键码值的检索频率排好序
【答案】C
【解析】要进行二分查找必须具备三个条件:①确定元素之间比较大小的运算符(按关键码指排的必要性);②排序;③各元素可以随机访问到;
8.对n个记录进行堆排序,所需要的辅助存储空间为()。

A.O(log2n)
B.O(n)
C.O(1.
D. O(n2.
【答案】C
【解析】堆排序是就地排序,辅助空间是O(1.。

9.对于线性表(7,34,77,25,64,49,20,14.进行散列存储时,若选用H(K)=K%7作为散列函数,则散列地址为0的元素有()个。

A.1 B.2 C.3 D.4
【答案】D
【解析】根据H(K)=K%7,可知地址为0的都是为7的倍数,线性表中有7、77、49、14总共有四个。

10.下列关于数据结构的叙述中,正确的是()。

A.数组是不同类型值的集合
B.递归算法的程序结构比迭代算法的程序结构更为精炼
C.树是一种线性结构
D.用一维数组存储一棵完全二叉树是有效的存储方法
【答案】BD
【解析】A 项,数组是相同类型指的集合。

B 项:递归算法相对与迭代算法简洁明了。

C 项,树是一种非线性结构。

D 项,一颗完全二叉树存放在存储密度更大的顺序表中比起二叉链表可以节约更多的一些空间;
二、(本题10分)
假定一棵二叉树广义表表示为a (b (c ),d (e ,f )),分别写出对它进行先序、中序、后序、按层遍历的结果。

答:根据二叉树的广义表的定义可以画出该二叉树,如图2-1所示。

a
d
f 图2-1
根据图2-1遍历。

先序:a ,b ,c ,d f
中序:c ,b ,a ,e ,d ,f
后序:c ,b ,e ,f ,d ,a
按层:a ,b ,d ,c ,e ,f
三、(共10分)
己知一个无向图的顶点集为{a ,b ,c ,d ,e},其邻接矩阵如下所示:
(1)画出该图的图形;
(2)根据邻接矩阵从顶点a 出发进行深度优先遍历和广度优先遍历,写出相应的遍历序列。

答:(1)邻接矩阵中为1的部分表示该行该列对应的元素有边。

据此画出图形。

该图的图形如图2-2所示。

图2-2 无向图示意图
(2)深度优先遍历:只要该节点有子节点,选择它的第一个子节点开始遍历。

当没有孩子时,回溯到父节点从第二个子节点继续遍历,依次类推。

广度优先遍历:遍历节点都所有子节点,再遍历第一个子节点的所有子节点,依次类推。

深度优先遍历序列为:abdce ;广度优先遍历序列为:abedc 。

四、(本题10分)
树有哪些遍历方法?它们分别对应于把树转变为二叉树的哪些遍历方法?
答:树的遍历方法有先根序遍历和后根序遍历,它们分别对应于把树转变为二叉树后的先序遍历与中序遍历方法。

相关文档
最新文档