《数据结构习题与解析》清华大学专业教材
清华大学 2000 年数据结构试题与分析
清华大学 2000 年试题与分析试题部分一、请回答下列关于图的一些问题:1 .有 n 个顶点的有向连通图最多有多少条边?最少有多少条边?2 .表示一个有 1000 个顶点, 1000 条边的有向图的邻接矩阵有多少个矩阵元素?是否是稀疏矩阵?3 .对于一个有向图,不用拓扑排序,如何判断图中有否存在环?二、斐波那契数列 F n 定义如下:F 0 =0,F 1 =1, F n = F n-1 + F n-2 n=2,3, …请就此斐波那契数列,回答下列列问题:1 .在递归计算 F n 的时候,需要对较小的 F n-1 , F n-2 ,…, F 1 , F 0 精确计算多少次?2 .如果用大 O 表示法,试给出递归计算 F n 时递归函数的时间复杂度是多少?三、有一种简单的排序算法,叫做计算排序( Count Sorting )。
这种排序算法对一个待排序的表(用数组表示)进行排序,并将排序结构存放以另一个新的表中。
必须注意的是,表中所有待排序的关键字互不相同。
计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键字比刻记录的关键字小。
假设对某一个记录,统计出计数值为 C ,那么,这个记录在新的有序表中的合适的存放位置即为 C 。
1 .给出适用于计数排序的数据表定义。
2 .使用 Pascal 或 C 语言编写实现计数排序的算法。
3 .对于有 n 个记录的表,关键字比较次数是多少?4 .与简单选择排序相比,这种方法是否更好?为什么?四、在一棵表示有序集 S 的二次搜索树( Binary Search Tree )中,任意一条从根到叶子结点的路径将 S 分为 3 部分:在该路径左边结点中的元素组成集合 S1 ;在该路径上的结点中的元素组成集合 S2;在该路径右边结点中的元素组成集合 S3 。
S=S1 ∪ S2 ∪ S3 。
对于任意的a ∈ S1 , b ∈S2 , c ∈ S3 ,是否总有a ≤ b ≤ c ?为什么?五、请回答下列关于堆的一些问题:1 .堆的存储表示是顺序的,还是链式的?2 .设有一个最小堆,即堆中任意结点的关键字均小于它的左子女和右子女的关键字。
数据结构(C 语言 清华出版社)习题答案
习题1参考答案一、单项选择题1. A2. C3. D4. B5. C、A6. C、B7. B8. D9. B 10. B二、填空题1.线性结构,非线性结构2.集合,线性,树,图3.一对一,一对多或多对多4. 时间,空间5. 前趋,一,后继,多6. 有多个7. 一对一,一对多,多对多8. O(2n)9. O(n)10. O(2n)11. O(log3n)12. 程序对于精心设计的典型合法数据输入能得出符合要求的结果。
13. 事后统计,事前估计三、算法设计题1. O(2n)2. O(2n)3. O(n3)4. O(n)5. O(n)习题2参考答案一、单项选择题1.A 2.A 3.D 4.C 5.D 6.A 7.B 8.B 9.C 10.A 11.D 12.B 13.C 14.B 15.C 16.C 17.B 18.D 19.C 20.A二、填空题1.线性2.n-i+1 3.相邻4.前移,前,后5.物理存储位置,链域的指针值6.前趋,后继7.顺序,链接8.一定,不一定9.线性,任何,栈顶,队尾,队头10.单链表,双链表,非循环链表,循环链表11.使空表和非空表统一;算法处理一致12.O(1),O(n)13.栈满,栈空,m,栈底,两个栈的栈顶在栈空间的某一位置相遇14.2、3;15.O(1)三、简答题1.头指针是指向链表中第一个结点(即表头结点)的指针;在表头结点之前附设的结点称为头结点;表头结点为链表中存储线性表中第一个数据元素的结点。
若链表中附设头结点,则不管线性表是否为空表,头指针均不为空,否则表示空表的链表的头指针为空。
2.线性表具有两种存储结构即顺序存储结构和链接存储结构。
线性表的顺序存储结构可以直接存取数据元素,方便灵活、效率高,但插入、删除操作时将会引起元素的大量移动,因而降低效率:而在链接存储结构中内存采用动态分配,利用率高,但需增设指示结点之间关系的指针域,存取数据元素不如顺序存储方便,但结点的插入、删除操作较简单。
清华大学出版社数据结构(C 版)(第2版)课后习题答案最全整理
第1 章绪论课后习题讲解1. 填空⑴()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
【解答】数据元素⑵()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。
【解答】数据项,数据元素【分析】数据结构指的是数据元素以及数据元素之间的关系。
⑶从逻辑关系上讲,数据结构主要分为()、()、()和()。
【解答】集合,线性结构,树结构,图结构⑷数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。
【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系⑸算法具有五个特性,分别是()、()、()、()、()。
【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性⑹算法的描述方法通常有()、()、()和()四种,其中,()被称为算法语言。
【解答】自然语言,程序设计语言,流程图,伪代码,伪代码⑺在一般情况下,一个算法的时间复杂度是()的函数。
【解答】问题规模⑻设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。
【解答】Ο(1),Ο(nlog2n)【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。
2. 选择题⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。
A 线性结构B 非线性结构C 存储位置D 指针【解答】C,D【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。
⑵假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。
则表示该遗产继承关系的最合适的数据结构应该是()。
数据结构习题参考答案与解析
习题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。
李春葆数据结构习题与解析(修订版)
李春葆数据结构习题与解析(修订版)清华⼤学出版社⼀、绪论选择题1.数据结构是⼀门研究⾮数值计算的程序设计问题中计算机的 1 以及它们之间的 2 和运算等的学科。
1 A.数据元素 B.计算⽅法 C.逻辑存储 D.数据映像2 A.结构 B.关系 C.运算 D.算法2.数据结构被形式地定义为 (K, R),其中K是 1 的有限集,R是K上的 2 有限集。
1 A.算法 B.数据元素 C.数据操作 D.逻辑结构2 A.操作 B.映像 C.存储 D.关系3.在数据结构中,从逻辑上可以把数据结构分成。
A.动态结构和静态结构B.紧凑结构和⾮紧凑结构C.线性结构和⾮线性结构D.内部结构和外部结构4.线性结构的顺序存储结构是⼀种 1 的存储结构,线性表的链式存储结构是⼀种 2 的存储结构。
A.随机存取B.顺序存取C.索引存取D.散列存取5.算法分析的⽬的是 1 ,算法分析的两个主要⽅⾯是 2 。
1 A.找出数据结构的合理性 B.研究算法中的输⼊和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和⽂档性2 A.空间复杂度和时间复杂度 B.正确性和简单性C.可读性和⽂档性D.数据复杂性和程序复杂性6.计算机算法指的是 1 ,它必须具备输⼊、输出和 2 等5个特性。
1 A.计算⽅法 B.排序⽅法 C.解决问题的有限运算序列 D.调度⽅法2 A.可执⾏性、可移植性和可扩充性 B.可⾏性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性7.线性表的逻辑顺序与存储顺序总是⼀致的,这种说法。
A.正确B.不正确8线性表若采⽤链式存储结构时,要求内存中可⽤存储单元的地址。
A.必须连续的B.部分地址必须连续的C.⼀定是不续的D连续不连续都可以9.以下的叙述中,正确的是。
A.线性表的存储结构优于链式存储结构B.⼆维数组是其数据元素为线性表的线性表C.栈的操作⽅式是先进先出D.队列的操作⽅式是先进后出10.每种数据结构都具备三个基本运算:插⼊、删除和查找,这种说法。
严蔚敏《数据结构》(第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.精选考研真 题,巩固重难点知识。为了强化对重要知识点的理解,本书精选了部分名校近几年的数据结构考研真题,这些高 校大部分以该教材作为考研参考书目。所选考研真题基本涵盖了各个章节的考点和难点,特别注重联系实际,凸 显当前热点。要深深牢记:考研不同一般考试,概念题(名词解释)要当作简答题来回答,简答题要当作论述题 来解答,而论述题的答案要像是论文,多答不扣分。有的论述题的答案简直就是一份优秀的论文(其实很多考研 真题就是选自一篇专题论文),完全需要当作论文来回答!
数据结构课后习题答案清华大学出版社殷人昆
}
friend ostream& operator<< (ostream&os, complex&ob ){
//友元函数:重载<<,将复数ob输出到输出流对象os中。
returnos << ob.Re << ( ob.Im >= 0.0 )?“+” : “-” <<fabs( ob.Im ) << “i”;
#include<iostream.h>
#include<math.h>
#include“complex.h”
complex&complex:: operator+ ( complex&ob ){
//重载函数:复数加法运算。
complex * result =newcomplex ( Re + ob.Re, Im + ob.Im );
算法和程序不同,程序可以不满足上述的特性(4)。例如,一个操作系统在用户未使用前一直处于“等待”的循环中,直到出现新的用户事件为止。这样的系统可以无休止地运行,直到系统停工。
此外,算法是面向功能的,通常用面向过程的方式描述;程序可以用面向对象方式搭建它的框架。
1-7设n为正整数,分析下列各程序段中加下划线的语句的程序步数。
i = 4时,i = 5,j = j + i = ( 4 + 1 + 2 + 3 ) + 5 = 5 +1 + 2 + 3 + 4,
……
i = k时,i = k + 1,j = j + i = ( k + 1 ) + ( 1 + 2 + 3 + 4 +…+ k ),
数据结构(C语言版)清华大学出版社课后题1-5章答案
数据结构(C语言版)清华大学出版社课后题1-5章答案第一章选择题1.A2.B3.C4.D5.B6.C第二章选择题1.A2.D3.D4.C5.A6.C7.B8.B9.D 10.D应用题1.应该选用链接存储表示。
如果才用顺序表示法,必须在一个连续的可用空间中为这N 个表分配空间。
初始时候因为不知道哪个表增长得快,必须平均分配空间。
在程序运行过程中,有的表占用的空间增长得快,有的表占用空间增长得慢,有的表很快就使用完了分配给它的空间,有的表才占用了少许空间,在进行元素的插入时候就必须成片的移动其他表的空间,以空出位置进行插入;在元素删除时为填补空白,也可能移动许多元素。
这个处理过程及其繁琐和低效。
如果采用链接存储,一个表的空间可以连续也可以不连续。
表的增长通过动态分配内存得以解决,只要存储器未满,就不会发生表溢出;表的收缩可以通过动态存储释放实现,释放的空间还可以在以后动态分配给其他的存储需求,非常灵活方便。
对于N个表(包括表的总数可能变化)共存的情形,处理十分简单快捷,插入、删除时间复杂度为O(1)。
所以才用链接存储表示较好。
2.一般来说,链式存储结构克服了顺序存储结构的三个缺点。
首先,插入、删除操作不需要移动元素,只修改指针;其次,不需要预先分配空间,可根据需要动态申请空间;其三,表容量只受到内存空间的限制。
其缺点是因为指针增加了空间开销,当空间不允许时,就不能克服顺序存储的缺点。
3.顺序结构时ai与ai+1的物理位置相邻,链表结构时两者的位置不要求一定相邻。
7.在顺序表中插入和删除一个节点需平均移动全表一半的节点。
具体的移动次数取决于所插入和删除的节点的位置i和全表的长度n这两个因素。
算法设计题1.分析:遍历整个顺序表,用k记录在x~y之间元素的个数,k的初始值为0。
对于当前遍历到的元素,若其值在x~y之间,则前移k个位置;否则执行++k。
这样每个不在x~y之间的元素仅仅移动一次,所以效率较高。
习题参考解答-数据结构(C语言描述)(第2版)-徐孝凯-清华大学出版社
数据结构(C 语言描述)第2版教材后各章习题参考解答徐孝凯第1章 绪论1.1 单项选择题1. A2. D3. C4. B5. A6. B7. C8. A9. D10. B11. D1.2 是非判断题1.是2.否3.否4.是5.是6.否7.是8.否9.否10.是1.3 算法分析题指出下列各算法的功能并求出其时间复杂度。
1.判断参数n 是否为一个素数(质数),若是则返回整数1,否则返回0。
该算法的时间复杂度为O (n )。
2.计算i i n!=∑1的值。
时间复杂度为O(n )。
3.计算i i n!=∑1的值。
时间复杂度为O(n 2)。
4.求出满足不等式1+2+3+ +i ≥n 的最小i 值。
时间复杂性为O(n )。
5.打印出一个具有n 行的乘法表,第i 行(1≤i ≤n )中有n-i+1个乘法项,每个乘法项为i 与j (i ≤j ≤n )的乘积。
时间复杂性为O(n 2)。
6.给二维数组a[m][n]中的每一个元素赋值,每个a[i][j]的值为表达式i*i+j*j+1的值。
此算法的时间复杂性为O (m*n)。
7.矩阵相乘,即a[M][N]×b[N][L]→c[M][L]。
时间复杂性为O (M*N*L)。
1.4 算法设计题1. 初始化一个由pq 指针参数所指向的二次多项式中的三个数据成员a 、b 和c ,每个数据成员的初始值依次为参数aa 、bb 和cc 的值。
void initQuadratic (struct Quadratic* pq, double aa, double bb, double cc) {(*pq).a=aa;(*pq).b=bb;(*pq).c=cc;}2. 做两个多项式加法,即使对应的系数相加,返回相加结果。
struct Quadratic add(struct Quadratic* pq1, struct Quadratic* pq2){struct Quadratic qq;qq.a=(*pq1).a+(*pq2).a;qq.b=(*pq1).b+(*pq2).b;qq.c=(*pq1).c+(*pq2).c;return qq;}3. 根据给定x 的值计算多项式的值并返回。
清华大学本科计算机课程介绍
课号:00240013 学分: 3 课程名称 中文 课程属性:全校任选 英文 开课学期:秋、春 Fundamentals of Computer-aided Design 出版社 清华大学出版社 出版年月 2002 年 8 月
计算机辅助设计技术基础 书名 作者
使用教材
计算机辅助设计技术基 础教程
本课程是计算机科学与技术系为全校本科生开设的一门重要的计算机专业基础 课,目的是培养学生的软件工程素质,提高学生的软件开发能力。 本课程以软件生命周期的主要活动为主线,从软件及软件工程的历史和发展、软 件开发过程、需求分析、软件设计、程序编码、软件测试、软件维护、软件项目管理、 标准及规范等方面全面介绍软件工程的基本理论、方法、技术和工具。
课号: 30240273 课程名称
学分: 3 中文
课程属性:本科必修 开课学期: 春季 数据结构 书名 作者 英文 Data Structure 出版社 出版年月 1997
使用教材 参考书 讲课对象 课 程 简 介
数据结构(C 语言版)
严蔚敏,吴伟民 清华大学出版社
[1] Kruse, et.al. Data Structures & Program Desing in C. [2] Knuth. The Art of Computer Programming. Volume 1. 本科生 适用专业 工业工程系 先修课 C 语言程序设计
This course focuses on the basic concepts, principles, algorithms and applications of computer-aided design(CAD), it mainly consists of the following topics: software and hardware system of CAD, two-dimensional transformations, line clipping, raster display of 2D graphics, curves Introduction and surfaces, solid modeling, three-dimensional transformations, three-dimensional viewing, visible-surface determination, basic illumination models, and introductions to AutoCAD, 3DMAX 5.0 and OpenGL. It is an ideal choice for students who want to learn the rudiments of this dynamic and exciting CAD technology. 姓 名 讲 课 教 师 职称 主要教学和科研领域 主要教学领域: (1)承担全校计算机辅助设计技术基础 课教学; (2)承担研究生的小波分析及其应用课教学; 主要研究领域:小波分析及其应用,科学计算可视化, 计算机图形学,几何造型和图象处理。 (1)承担全校计算机辅助设计技术基础课教学
《数据结构》学习指导
《数据结构》学习指导说明:本指导以《数据结构》(C语言版)(严蔚敏等编著,清华大学出版社1997年出版,国家级优秀教材特等奖)和《数据结构题集》(严蔚敏等编著,清华大学出版社1999年出版)为教学主要参考书。
一、绪论1、学习目的:明确数据结构课程在本专业知识结构中的地位,作用。
课程的特点,教学的要求,方法。
明确数据结构所研究的问题以及有关基本概念。
初步掌握抽象数据类型的表示与实现,初步明确算法分析的作用与分析的重点,初步掌握算法分析的方法。
2、学习重点:数据的逻辑结构、存储结构及其算法,数据结构的有关概念,抽象数据类型及其表示与实现,算法,算法设计的要求,算法的时间复杂度和算法的空间复杂度。
3、学习难点:数据结构的有关概念,抽象数据类型的表示与实现;算法的时间复杂度分析。
4、课程内容与基本要求(一) 数据结构的引入(1) 三个世界:现实世界,信息世界,机器世界。
数据结构要解决的就是实现从现实世界到信息世界,再由信息世界到机器世界的转换,从而实现用计算机来解决问题的目的。
(2) 非数值问题(结合三个世界讲):控制,管理,数据处理(3) 数值问题:数值计算(4)数据结构:从学科角度讲,数据结构是一门研究非数值计算的程序设计问题中计算机操作对象以及他们之间的关系和操作等等的学科。
(二) 课程的地位,性质,作用。
(1) 地位: 计算机专业的核心课程之一。
(2) 性质: 算法理论基础和软件设计的技术基础课。
(3) 作用: 程序设计的基础,编译程序,操作系统,数据库系统及软件系统和应用程序的基础(三) 数据结构的产生和发展(四) 课程的特点,学习的要求教材:《数据结构》(C语言版)严蔚敏等编著北京清华大学出版社1997年参考书:《数据结构》许卓群等编著北京高等教育出版社1987年数据结构实用教程》(C/C++描述)徐孝凯北京清华大学出版社1999年《数据结构题集》严蔚敏等编著北京清华大学出版社1999年《数据结构导学》苏光奎等编著北京清华大学出版社20XX年《数据结构》(C语言篇)-习题与解析李春葆编著北京清华大学出版社20XX年《数据结构》实验指导书唐开山自编讲义20XX年(五) 基本概念和术语数据数据元素数据对象(4)数据结构:按某种逻辑关系组织起来的一批数据,按一定的存储表示方式把它存储到计算机的存储器中,并在这些数据上定义了一个运算的集合,叫做一个数据结构。
数据结构(C语言版)第三版__清华大学出版社_习题参考答案
数据结构(C语言版)第三版__清华大学出版社_习题参考答案数据结构(C语言版)第三版__清华大学出版社_习题参考答案引言:数据结构是计算机科学的基础,对于学习和理解数据结构的相关概念和算法非常重要。
本文将对清华大学出版社出版的《数据结构(C语言版)第三版》中的习题进行参考答案的提供。
通过正确的理解和掌握这些习题的解答,读者可以加深对数据结构的认识,并提高自己的编程能力。
第一章:绪论1.1 数据结构的定义与作用数据结构是指数据对象以及数据对象之间的关系、运算和存储结构的总称。
数据结构的作用是在计算机中高效地组织和存储数据,同时支持常见的数据操作和算法。
1.2 算法的定义与特性算法是解决特定问题的一系列步骤和规则。
算法具有确定性、有穷性、可行性和输入输出性等特点。
第二章:线性表2.1 线性表的定义和基本操作线性表是同类型数据元素的一个有限序列。
线性表的基本操作包括初始化、查找、插入、删除和遍历等。
2.2 顺序存储结构顺序存储结构是将线性表中的元素按顺序存放在一块连续的存储空间中。
顺序存储结构的特点是随机存取、插入和删除操作需要移动大量元素。
2.3 链式存储结构链式存储结构通过结点之间的指针链表来表示线性表。
链式存储结构的特点是插入和删除操作方便,但查找操作需要遍历整个链表。
第三章:栈和队列3.1 栈的定义和基本操作栈是只能在一端进行插入和删除操作的线性表。
栈的基本操作包括初始化、入栈、出栈和获取栈顶元素等。
3.2 队列的定义和基本操作队列是只能在一端插入操作,在另一端进行删除操作的线性表。
队列的基本操作包括初始化、入队、出队和获取队头元素等。
第四章:串4.1 串的定义和基本操作串是由零个或多个字符组成的有限序列。
串的基本操作包括初始化、串的赋值、串的连接和串的比较等。
第五章:树5.1 树的基本概念和术语树是n(n>=0)个结点的有限集。
树的基本概念包括根结点、子树、深度和高度等。
5.2 二叉树二叉树是每个结点最多有两个子树的树结构。
(完整版) 《数据结构》教材课后习题+答案
第1章绪论习题1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
3.简述逻辑结构的四种基本关系并画出它们的关系图。
4.存储结构由哪两种基本的存储方法实现?5.选择题(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)以下数据结构中,()是非线性数据结构A.树B.字符串C.队D.栈6.试分析下面各程序段的时间复杂度。
(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;(2)for (i=0; i<n; i++)for (j=0; j<m; j++)a[i][j]=0;(3)s=0;for i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;(4)i=1;while(i<=n)i=i*3;(5)x=0;for(i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;(6)x=n; //n>1y=0;while(x≥(y+1)* (y+1))y++;(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。
数据结构习题集答案解析--清华大学版
第1章 绪论简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。
解:数据是对客观事物的符号表示。
在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象是性质相同的数据元素的集合,是数据的一个子集。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
存储结构是数据结构在计算机中的表示。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。
是对一般数据类型的扩展。
试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。
}解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。
一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。
抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。
在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。
设有数据结构(D,R),其中{}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r =试按图论中图的画法惯例画出其逻辑结构图。
解:试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。
解:ADT Complex{数据对象:D={r,i|r,i 为实数} .数据关系:R={<r,i>} 基本操作: InitComplex(&C,re,im)操作结果:构造一个复数C ,其实部和虚部分别为re 和im DestroyCmoplex(&C)操作结果:销毁复数C Get(C,k,&e) 操作结果:用e 返回复数C 的第k 元的值 Put(&C,k,e)操作结果:改变复数C 的第k 元的值为e;IsAscending(C)操作结果:如果复数C的两个元素按升序排列,则返回1,否则返回0 IsDescending(C)操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0 Max(C,&e)操作结果:用e返回复数C的两个元素中值较大的一个Min(C,&e)操作结果:用e返回复数C的两个元素中值较小的一个}ADT Complex…ADT RationalNumber{数据对象:D={s,m|s,m为自然数,且m不为0}数据关系:R={<s,m>}基本操作:InitRationalNumber(&R,s,m)操作结果:构造一个有理数R,其分子和分母分别为s和mDestroyRationalNumber(&R)操作结果:销毁有理数RGet(R,k,&e)操作结果:用e返回有理数R的第k元的值?Put(&R,k,e)操作结果:改变有理数R的第k元的值为eIsAscending(R)操作结果:若有理数R的两个元素按升序排列,则返回1,否则返回0 IsDescending(R)操作结果:若有理数R的两个元素按降序排列,则返回1,否则返回0 Max(R,&e)操作结果:用e返回有理数R的两个元素中值较大的一个Min(R,&e)操作结果:用e返回有理数R的两个元素中值较小的一个-}ADT RationalNumber试画出与下列程序段等价的框图。
数据结构 考研参考书
数据结构考研参考书
数据结构是计算机科学和软件工程学科中的核心课程,也是考研的重要科目之一。
以下是一些建议的考研参考书:
1. 《数据结构(C语言版)》——严蔚敏、吴伟民编著,清华大学出版社。
这本书是国内最经典的数据结构教材之一,被广大考生认为是必备的参考书之一。
它涵盖了所有考研数据结构的知识点,并且讲解深入浅出,易于理解。
2. 《数据结构题集(C语言版)》——严蔚敏、吴伟民编著,清华大学出版社。
这本书是上述教材的配套题集,包含了大量的练习题和真题,对于考研生来说非常有价值。
通过练习这些题目,可以加深对数据结构的理解和掌握。
3. 《算法与数据结构考研试题精析(第二版)》——陈守孔、胡潇琨、李
玲编著,机械工业出版社。
这本书是一本经典的数据结构和算法考研辅导书,包含了大量的历年真题和解析。
通过做题和看解析,可以更好地理解考研的出题方式和解题技巧。
4. 《数据结构与算法分析(C语言版)》——殷人昆、田金兰编著,机械工业出版社。
这本书也是一本经典的数据结构和算法教材,内容深入浅出,易于理解。
它涵盖了考研数据结构的大部分知识点,并且有丰富的实例和练习题。
5. 《考研数学(一)历年真题详解与标准解答》——杨超主编,高等教育出版社。
虽然这本书不是专门针对数据结构的教材,但是它包含了大量的历年真题和标准答案,对于考研生来说非常有价值。
通过做真题和看标准答案,可以更好地了解考研的出题方式和评分标准。
以上是一些建议的考研参考书,希望能对你有所帮助。
同时,也要注意多做真题和模拟题,加强自己的实战能力。
祝你考试顺利!。
清华大学数据结构试题及答案解析
一、单选题(每题 2 分,共20分)1. 1.对一个算法的评价,不包括如下(B )方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3. 3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. 5.AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度()。
A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。
A.值B.函数C.指针D.引用8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。
A.行号B.列号C.元素值D.非零元素个数9.9.快速排序在最坏情况下的时间复杂度为()。
A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、二、运算题(每题 6 分,共24分)1. 1.数据结构是指数据及其相互之间的______________。
当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。
数据结构(C语言版)第三版__清华大学出版社_习题参考答案
附录习题参考答案习题1参考答案1.1.选择题(1). A. (2). A. (3). A. (4). B.,C. (5). A. (6). A. (7). C. (8). A. (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.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
3.简述逻辑结构的四种基本关系并画出它们的关系图。
4.存储结构由哪两种基本的存储方法实现?5.选择题(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)以下数据结构中,()是非线性数据结构A.树B.字符串C.队D.栈6.试分析下面各程序段的时间复杂度。
(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;(2)for (i=0; i<n; i++)for (j=0; j<m; j++)a[i][j]=0;(3)s=0;for i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;(4)i=1;while(i<=n)i=i*3;(5)x=0;for(i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;(6)x=n; //n>1y=0;while(x≥(y+1)* (y+1))y++;(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据逻辑结构包括
和③三种类型,树形结构和图形结构合称为④。
、
答 : 线性结构
树形结构
图形结构
非线性结构
在线性结构中,第一个结点 前驱结点,其余每个结点有且只有
后一个结点 后续结点,其余每个结点有且只有 个后续结点。
答 : 没有
没有
个 前 驱 结 点;最
在树形结构中,树根结点没有 结点,其余每个结点有且只有
逻辑存储
数据映象
结构
关系
运算
算法
答:
数据结构被形式地定义为(
算法
数据元素
操作
映象
答①
,其中 是①的有限集合, 是
数据操作
逻辑结构
存储
关系
上的②有限集合。
在数据结构中,从逻辑上可以把数据结构分成①。
动态结构和静态结构
紧凑结构和非紧凑结构
线性结构和非线性结构
内部结构和外部结构
答:
线性表的顺序存储结构是一种 的存储结构,线性表的链式存储结构是一种 的
算法及其评价
算法是解决某一特定类型问题的有限运算序列。描述一个算法可以采用某一种计算机
语言,也可以采用流程图等。本书的算法是采用 语言描述的。
算法具有 个基本特性:有穷性、确定性、可行性、输入和输出。
评价一个算法一般从 个方面进行:正确性、运行时间、占用空间和简单性。
正确性是指算法是否正确。运行时间是指一个算法在计算机上运行所花费的时间,采用
指出下列各算法的时间复杂度。
为一个正整数
!
是一素数
;
不是一素数
为一个正整数 /
)
;
为一个正整数
解:算法的时间复杂度是由嵌套最深层语句的频度决定的。 的嵌套最深层语句:
+;
它的频度由条件(
行频度小于
,所以其时间复杂度是
的嵌套最深层语句:
)决 定 ,显 然
)。
;
它的频度为 次,所以其时间复杂度是 的嵌套最深层语句:
,其 中:
,
,
,
,
,
,
,其 中:
,
,
,,
,
,
,
,
,
,
,
,
,
,
对表示两结点是双向的。
,其 中:
,
,
,
,
,
,
解:
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
对应逻辑图形如图
所示,它是一种线性结构。
图
对应 的逻辑结构图示
对应逻辑图形如图
所示,它是一种树形结构。
图
对应 的逻辑结构图示
对应逻辑图形如图 所示,它是一种图形结构。
相关题解。
基本概念
数据是信息的载体,在计算机科学中是指所有能输入到计算机中并由计算机程序处理 的符号的总称。
数据结构
数据结构是指同一数据元素类中各数据元素之间存在的关系。数据结构又可以分为下 述三个组成部分,它们分别是数据的逻辑结构、数据的存储结构和数据的运算。
数据的逻辑结构是对数据之间关系的描述,所以有时就把数据的逻辑结构简称为数据 结构。逻辑结构形式上用一个二元组
时间复杂度来量度,所谓时间复杂度是指算法中包含简单操作的次数,一般不必精确计算出
算法的时间复杂度,只要大致计算出相应的数量级,如
)或
)等 。
的形式定义为:若 )是 正 整 数 的 函 数,则
表示存在一个正的常数 ,使得
当
时满足
。一般 地 ,常用 的 时间 复 杂 度有 如 下关 系:
占用空间是指在计算机存储器上所占用的存储空间,主要考虑在算法运行过程中临时 占用的存储空间的大小,称之为空间复杂度,一般以数量级形式给出。简单性是指算法的易 读性等。
例 分析以下程序段的时间复杂度。
其中语句①的频度是 ;语句②的频度是 ;语句③的频度是
;语 句 的频度是
。则该程序段的时间复杂度
。
例 有以下程序,分析其中
函数的时间复杂度。
;语句④的频度是
函数是一个递归排序过程,设
是排序 个元素所需要的时间。
在排序 个元素时,算法的计算时间主要花费在递归调用
上。第 一次 调用 时,处 理的
元素个数为
,也就是对余下的
个元素进行排序,这部分所需要的计算时间应为
。
又因为在其中的循环中,需要
次比较,所以排序 个元素所需要的时间为:
这样得到如下方程:
求解过程为:
故
函数的时间复杂度为
基本题
单项选择题
数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和
运算等的学科。
操作对象
计算方法
结点没有 结点,其余每个结点的后续结点可以 。
答 : 前驱
后续
任意多个
个 前 驱 结 点;叶 子
在图形结构中,每个结点的前驱结点数和后续结点数可以①。 答 : 任意多个
线性结构中元素之间存在
元素之间存在 关系。
答 : 一对一
一对多
关系,树形结构中元素之间存在 多对多
关 系,图 形 结 构 中
算法的五个重要特性是 答:有穷性 确定性 可行性 输入 输出
对应逻辑图形如图 所示,它是一种图形结构, 结构, 对应图中实线部分)则为树形结构。
有如下递归函数
,分析其时间复杂度。
对应图中虚线部分)为线性
图
对应 的逻辑结构图示
解 :设 运行时间是
图
对应 的逻辑结构图示
的运行时间函数是
。该函数中语句①的运行时间是
,其中 )为运算的时间。
,语句②的
即
)的 时 间 复 杂 度 为
图
一颗二叉树
图形结构的存储方式 在 图形 结 构 的数 据 中 ,每 个 结点 可 能 有多 个 前 驱结 点 和 多个 后 续结 点 ,因此 一 般 只能 采 用链接的方式进行存储,同样,由于链接的方式不能表达任意多个后续结点,因此,将链接方 式改进成邻接表,即图形结构中的每个结点对应有一个链表,该链表存储这个结点的所有相 邻结点。 另处还可以采用矩阵存储图形结构,即用矩阵表示图形结构中任意两个结点之间的关 系,这种矩阵称为邻接矩阵。
数据的运算是在数据的逻辑结构上定义的操作算法,如检索、插入、删除、更新和排序
等。
从逻辑上可以把数据结构分为线性结构和非线性结构。在线性结构中有且仅有一个终 端 结 点和 一 个 开始 结 点 ,并 且 所 有 结点 都 最 多只 有 一 个前 驱 和 后 续 ,顺 序 表就 是 典 型的 线 性 结 构 。非 线 性 结构 中 可 能有 多 个 终 端结 点 和 多个 开 始 结点 ,每 个 结点 可 能 有多 个 前 驱和 多 个 后 续 。非 线 性 结 构 中最 重 要 的 是 树形 结 构 和 图 形结 构 。
,即执
它的频度为 求两个 阶矩阵的乘法
次,所以其时间复杂度是 ,其 算 法 如 下:
分析该算法的时间复杂度。 解 :该 算 法 中 主要 语 句 的 频 度 分 别 是:
则时间复杂度为所有语句的频度之和
第 章 顺 序 表
线性结构中的所有结点按它们之间的关系可以排成一个线性序列:
,
其中 是 开始 点, 是 终端 结 点, 是 的 前 驱 结 点 ,而 是 的后续结点
来表示,其中 是结点即数据元素的有限集合,即 是由有限个结点所构成的集合, 是
上的关系的有限集合,即 是由有限个关系所构成的集合,而每个关系都是从 到 的关
系 。设 是一个 到 的关系, ,若
,且 <
,则称 是 的后续, 是
的前驱,这时 和 是相邻的结点(相对 而 言 );如 果 不 存 在 一 个 使 <
存储结构。 随机存取
答:
顺序存取
索引存取
散列存取
算法分析的目的是①,算法分析的两个主要方面是②。 找出数据结构的合理性 研究算法中的输入和输出的关系 分析算法的效率以求改进 分析算法的易懂性和文档性 空间复杂性和时间复杂性 正确性和简明性 可读性和文档性 数据复杂性和程序复杂性
答:
计算机算法指的是①,它必具备输入、输出和
,
)。
通常把上述线性序列称为“线性表”,把线性结构中的结点称为元素或“表目”。将一个线
性表存放到计算机中,可以采用不同的方法,其中最简单而自然的就是顺序的方法,即把表
目按其索引值从小到大一个接一个地存放在相邻的单元里。顺序方法存储的线性表简称“顺
图
逻辑结构图示
设有如图 所示的逻辑结构图示,给出它的逻辑结构。 解:本题的逻辑结构如下:
,
该逻辑结构是一个树形结构,其树根为 ,叶子结点为
和
图
逻辑结构图示
下 列是 几种 用二 元组 表示 的数 据结 构 ,画出 它 们分 别对 应的 逻辑 图形 表示 ,并 指出 它 们分别属于何种结构。
,其 中:
例 分析以下程序段的时间复杂度。
语句的频度指的是该语句重复执行的次数。一个算法中所有语句的频度之和构成了该
算法的运行时间。在本例算法中,其中语句①的频度是
,语句②的频度是
。则该程序段的时间复杂度
例 分析以下程序段的时间复杂度。
其中语句①的频度是 ,设语句②的频度 ,则 有:
即
,取最大值 )
则该程序段的时间复杂度 )
续编码的,每个存储单元 都有唯一的后续单元
和 称为相邻单元。一片
相邻的存储单元的整体叫做存储区域,记做 。把 存储在计算机中,首先必须建立一个从
的结点到 的单元的映象