文档视界 最新最全的文档下载
当前位置:文档视界 › 信息学奥林匹克教程(数据结构篇)

信息学奥林匹克教程(数据结构篇)

信息学奥林匹克教程(数据结构篇)
信息学奥林匹克教程(数据结构篇)

《信息学奥林匹克教程(数据结构篇) 奥赛经典高级教程系列(奥赛经典高级教程系列)》

内容简介

为了进一步推广、普及计算机技术,提高竞赛水平,在原来编写的一套《信息学奥林匹克教程》(基础篇·提高篇·语言篇)的基础了,我们又编写了这本《数据结构篇》。

《数据结构篇》主要帮助学生全面地掌握数据结构知识与应用技巧,相对于其他数据结构书不同之处就在于增加了一些针对性的例题和习题,着眼点是提高数据结构的应用方法与技巧,是一本具有实战意义的教材。

从逻辑角度看,数据可归结为三种基本结构:线性结构、树结构和图结构;从存储角度看,数据可归结为四种基本结构:顺序结构、链接结构、索引结构和散列结构。每一种逻辑结构可根据不同需要采用不同的存储结构,或者不同的存储结构的组合。数据的逻辑结构和存储结构确定后,再结合指定运算的算法,就容易利用一种程序设计语言编写出程序。通过数据结构的学习,能够大大提高程序设计能力和水平。

《数据结构篇》是为广大信息学爱好者学习数据结构而精心编著的一本教材。本书内容比较全面,着重于实用与实战,在算法分析上简明扼要,细致清晰,便于自学。全书共分十章:第一章为概论,它为学习以后的各章做准备;第二章至第五章为线性结构;第六章和第七章分别为树结构和图结构,分别讨论了每一种逻辑结构所对应的存储结构和相应的算法;第八章和第九章分别为查找与排序,它包含了数据处理中主要使用的几种查找和内排序方法;最后一章为读者提供了检测知识的模拟试题及解答。

作者简介

向期中,长郡中学特级教师,湖南省计算机学会理事,国际金牌教练,国家教育部计算机课程咨询委员会委员。对中小学计算机教育事业有一种执着的追求,参加工作20年来,一直以“当一流教师,办一流教育,出一流人才”为自己的工作目标,对中小学计算机教学和青少年信息学奥林匹克竞赛的辅导倾注了全部热情和心血。在信息学奥林匹克竞赛培训中把“先做人,后成才”的育人理念贯穿到整个奥赛培训的始终,学生在愉快的学习中取得了一个个辉煌的成绩:在近几年的信息学奥林匹克竞赛中,辅导的学生有100多人获湖南省一等奖,11人次进入国家集训队,3人进入国家代表队,3人获国际金牌。撰写了《信息学(计算机)国际奥林匹克Turbo Pas—cal 6.0》等十多部信息学专著。多次荣获园丁奖和全国优秀辅导员称号,还先后获得全国中小学计算机教育先进工作者、湖南省优秀教师和全国信息学奥林匹克竞赛高级指导教师等荣誉称号。

目录

1概论

1.1基本术语

1.2算法描述

1.3算法评价

1.4Pascal语言中的数据类型1.5小结

习题一

2线性表

2.1线性表的定义和顺序存储2.2线性表的运算

2.3线性链表及链接存储

2.4线性表的应用举例

2.5小结

习题二

3栈和队列

3.1栈

3.2栈的应用举例

3.3队列

3.4队列的应用举例

3.5链接的栈和队列

3.6小结

习题三

4串

4.1串的基本概念

4.2串的定义

4.3串的实现及基本运算4.4串的应用

4.5小结

习题四

5数组、特殊矩阵和广义表5.1多维数组

5.2稀疏矩阵

5.3特殊矩阵的压缩存储5.4广义表

5.5小结

习题五

6树

6.1树的概念

6.2二叉树

6.3二叉树的运算

6.4二叉搜索树

6.5哈夫曼树

6.6树的存储结构和运算6.7树、森林和二叉树的转换6.8最近公共祖先

6.9树状数组

6.10并查集

6.11树的应用举例

6.12小结

习题六

7图

7.1图的概念

7.2图的基本术语

7.3图的存储结构

7.4图的遍历

7.5图的生成树与最小生成树7.6最短路径

7.7拓扑排序

7.8关键路径

7.9图的应用举例

7.10小结

习题七

8查找

8.1查找的基本概念

8.2顺序表查找

8.3索引查找

8.4散列查找

8.5树表查找

8.6查找的应用举例

8.7小结

习题八

9排序

10模拟试题

习题参考答案

……

序言

国际信息学奥林匹克竞赛(10I)是计算机知识在世界范围青少年中普及的产物。它始于1989年,是继数学、物理和化学之后的又一门国际(中学生)学科奥林匹克竞赛。在国际学科奥林匹克竞赛中,我国只有信息学是在1989年首次10I中就具有参赛资格的,而且首届竞赛的试题原型是由我国提供的。

20世纪80年代,邓小平同志在视察青少年校外计算机活动时指出:"计算机的普及要从娃娃抓起。"从此,全国性的青少年计算机竞赛活动每年都吸引着数以万计的青少年投身到这一活动当中,也成为我国校外计算机活动中最有代表性的形式。竞赛是青少年喜闻乐见的课外活动形式,但竞赛不是目的,只是推广、普及的一种手段,而普及计算机知识则是我国的国策,也是世界发展的趋势。培养高素质的信息技术人才,才是竞赛的最终目的。

为了进一步推广、普及计算机技术,提高竞赛水平,在原来编写的一套《信息学奥林匹克教程》(基础篇·提高篇·语言篇)的基础了,我们又编写了这本《数据结构篇》。

《数据结构篇》主要帮助学生全面地掌握数据结构知识与应用技巧,相对于其他数据结构书不同之处就在于增加了一些针对性的例题和习题,着眼点是提高数据结构的应用方法与技巧,是一本具有实战意义的教材。

从逻辑角度看,数据可归结为三种基本结构:线性结构、树结构和图结构;从存储角度看,数据可归结为四种基本结构:顺序结构、链接结构、索引结构和散列结构。每一种逻辑结构可根据不同需要采用不同的存储结构,或者不同的存储结构的组合。数据的逻辑结构和存储结构确定后,再结合指定运算的算法,就容易利用一种程序设计语言编写出程序。通过数据结构的学习,能够大大提高程序设计能力和水平。

《数据结构篇》是为广大信息学爱好者学习数据结构而精心编著的一本教材。本书内容比较全面,着重于实用与实战,在算法分析上简明扼要,细致清晰,便于自学。

文摘

插图:

《数据结构》教学纲要(doc 9页)

《数据结构》教学纲要(doc 9页)

《数据结构》教学大纲 2001年9月 一、开课系(部):经济信息管理系 二、教学对象:信息管理与信息系统专业本科 三、教学目的: 数据结构是高等教育计算机信息管理专业中的一门专业基础课,在计算机软件的各个领域中均会使用到数据结构的有关知识。本课程的目的和任务是使学生较全面地掌握各种常用的数据结构,为学习后续软件课程提供必要的基础,提高运用数据结构解决实际问题的能力。 四、教学要求: 1. 从数据结构的逻辑结构、存储结构和数据的运算三个方面去掌握线性表、栈、队列、串、数组、广义表、树、图和文件等常用的数据结构。 2. 掌握在各种常用的数据结构上实现的排序和查找运算。 3. 对算法的时间和空间复杂性有一定的分析能力。 4. 针对简单的应用问题.应能选择合适的数据结构及设计有效的算法解决之。 五、教学课时: 教学内容课内学时 第1章绪论 2 第2章线性表 4 第3章栈和队列 6 第4章串 4 笫5章数组和广义表 4 第6章树和二叉树 6 第7、8章略 第9章查找 4 第10章内部排序 4 课程总复习 2 六、考核形式: 期末考试与平时讨论相结合(80%和20%)。 期末试卷结构: 单项选择填空简答应用算法设计 20 15分20分15分30分

态。 3.3 算法描述和算法分析的方法,对于一般算法能分析出时间复杂度。 第2章线性表 (一)课程内容 2.1 线性表的逻辑结构 2.2 线性表的顺序存储结构 2.3 线性表的链式存储结构 2.4 顺序表和链表的比较 (二)学习目的与要求 本章目的是介绍线性表的逻辑结构和各种存储表示方法,以及定义在逻辑结构上的各种基本运算及其在存储结构上如何实现这些基本运算。要求在熟悉这些内容的基础上,能够针对具体应用问题的要求和性质,选择合适的存储结构设计出相应的有效算法,解决与线性表相关的实际问题。本章重点是熟练掌握顺序表和单链表上实现的各种基本算法及相关的时间性能分析,难点是能够使用本章所学到的基本知识设计有效算法解决与线性表相关的应用问题。 (三)考核知识点与考核要求 1. 线性表的逻辑结构,要求达到“识记”层次。 1.1 线性表的逻辑结构特征。 1.2 线性表上定义的基本运算,并能利用基本运算构造出较复杂的运算。 2. 线性表的顺序存储结构.要求达到“综合应用”层次。 2.1 顺序表的含义及特点,即顺序表如何反映线性表中元素之间的逻辑关系。 2.2 顺序表上的插入、删除操作及其平均时间性能分析。 2.3 利用顺序表设计算法解决筒单的应用问题。 3. 线性表的链式存储结构,要求达到“综合应用”层次。 3.1 链表如何表示线性表中元素之间的逻辑关系。 3.2 链表中头指针和头结点的使用。 3.3 单链表、双链表、循环链表链接方式上的区别。 3.4 单链表上实现的建表、查找、插入和删除等基本算法,并分析其时间复杂度。 3.5 循环链表上尾指针取代头指针的作用,以及单循环链表上的算法与单链表上相应算法的异同点。 3.6 双链表的定义及其相关的算法。 3.7 利用链表设计算法解决简单的应用问题。 4.顺序表和链表的比较.要求达到“领会”层次。

数据结构实用教程第二版答案_徐孝凯

第一章绪习题一 1.有下列几种用二元组表示的数据结构,试画出它们分别对应的图形表示(当出现多个关系时, 对每个关系画出相应的结构图),并指出它们分别属于何种结构。 ⑴ A=(K,R)其中 K={a1,a2,a3...,an} R={} ⑵ B=(K,R)其中 K={a,b,c,d,e,f,g,h} R={r} r={,,,,,,} ⑶ C=(K,R)其中 K={a,b,c,d,f,g,h} R={r} r={,,,,,,} ⑷ D=(K,R)其中 K={1,2,3,4,5,6} R={r} r={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)} ⑸ E=(K,R)其中 K={48,25,64,57,82,36,75,43} R={r1,r2,r3} r1={<48,25>,<25,64>,<64,57>,<57,82>,<82,36>,<36,75>,<75,43>} r2={<48,25>,<48,64>,<64,57>,<64,82>,<25,36>,<82,75>,<36,43>} r3={<25,36>,<36,43>,<43,48>,<48,57>,<57,64>,<64,75>,<75,82>} 解:⑴是集合结构;⑵是线性结构;⑶⑷是树型结构;⑸散列结构。只作为参考。 2.设计二次多项式ax2+bx+c的一种抽象数据类型,假定起名为QIAdratic, 该类型的数据部分分为三个系数项a、b和c,操作部分为:(请写出下面每一个操作的具体实现)。 ⑴初始化数据成员ab和c(假定用记录类型Quadratie定义成员),每个数据成员的默认值为0。 Quadratic InitQuadratic(float aa=0,float bb=0,float cc=0); 解: Quadratic InitQuadratic(float aa,float bb,float cc) { Quadratic q; q.a=aa; q.b=bb; q.c=cc; return q; }

李春葆《数据结构教程》(第4版)章节题库-串(圣才出品)

第4章串 一、选择题 1.下面关于串的叙述中,不正确的是( )。 A.串是字符的有限序列 B.空串是由空格构成的串 C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储 【答案】B 【解析】空格构成的串称空格串。空串用φ表示。零个字符的串称为空串,空格也是一个字符,因此B项不正确。 2.设有两个串S1和S2,求S2在S1中首次出现的位置的运算称作()。 A.求子串 B.判断是否相等 C.模型匹配 D.连接 【答案】C 【解析】常用的串的基本操作有七种,INDEX(s,t)是其中的定位函数,这种运算就是所说的模式匹配。 3.已知串S=ˊaaabˊ,其Next数组值为()。

A.0123 B.1123 C.123l D.1211 【答案】A 【解析】KMP算法的next数组建立的原则 4.若串S=ˊsoftwareˊ,其子串的数目是()。 A.8 B.37 C.36 D.9 【答案】B 【解析】子串的定义是:串中任意个连续的字符组成的子序列,并规定空串是任意串的子串,任意串是其自身的子串。若字符串长度为n(n>O),长为n的子串有l个,长为n-1的子串有2个,长为n-2的子串有3个,……,长为1的子串有n个。由于空串是任何串的子串,所以本题的答案为:8*(8+1)/2十l=37。故选B。 5.串的长度是指()。 A.串中所含不同字母的个数

B.串中所含字符的个数 C.串中所含不同字符的个数 D.串中所含非空格字符的个数 【答案】B 【解析】串中字符的数目n称为字符的长度,不必考虑其中单个字符是否相等。 6.串是一种特殊的线性表,其特殊性体现在()。 A.数据元素是一个字符 B.可以顺序存储 C.数据元素可以是多个字符 D.可以链接存储 【答案】A 7.在下列表述中,正确的是() A.含有一个或多个空格字符的串称为空格串 B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树 C.选择排序算法是不稳定的 D.平衡二叉树的左右子树的结点数之差的绝对值不超过l 【答案】C 【解析】平衡二叉树的左右子树的深度之差的绝对值不超过l。求最小生成树时,每次挑最小权值边,是要求该边的两点都在不同的连通分量上的。

《数据结构基础教程》习题及解答

《数据结构基础教程》习题及解答

《数据结构基础教程》习题解答(新) 第1章习题解答 一、填空 1.数据是指所有能够输入到计算机中被计算机加工、处理的符号的集合。 2.可以把计算机处理的数据,笼统地分成数值型和非数值型两大类。 3.数据的逻辑结构就是指数据间的邻接关系。 4.数据是由一个个数据元素集合而成的。5.数据项是数据元素中不可再分割的最小标识单位,通常不具备完整、确定的实际意义,只是反映数据元素某一方面的属性。 6.数据是以数据元素为单位存放在内存的,分配给它的内存区域称为存储结点。 7.每个数据元素都具有完整、确定的实际意义,是数据加工处理的对象。 8.如果两个数据结点之间有着逻辑上的某种

关系,那么就称这两个结点是邻接的。 9.在一个存储结点里,除了要有数据本身的内容外,还要有体现数据间邻接关系的内容。10.从整体上看,数据在存储器内有两种存放的方式:一是集中存放在一个连续的内存存储区中;一是利用存储器中的零星区域,分散地存放在内存的各个地方。 11.在有些书里,数据的“存储结构”也称为数据的“物理结构”。 12.“基本操作”是指算法中那种所需时间与操作数的具体取值无关的操作。 二、选择 1.在常见的数据处理中,B 是最基本的处理。 A.删除B.查找C.读取D.插入 2.下面给出的名称中, A 不是数据元素的同义词。 A.字段B.结点C.顶点D.记录 3.D 是图状关系的特例。

A.只有线性关系B.只有树型关系 C.线性关系和树型关系都不D.线性关系和树型关系都 4.链式存储结构中,每个数据的存储结点里D指向邻接存储结点的指针,用以反映数据间的逻辑关系。 A.只能有1个B.只能有2个C.只能有3个D.可以有多个 5.本书将采用C 来描述算法。 A.自然语言B.流程图(即框图)C.类C语言D.C语言 6.有下面的算法段: for (i=0; i

结构力学求解器教程

结构力学求解器教程 一、软件界面介绍 1、命令窗口:所有命令都是在本窗口中输入。 2、观览器:浏览模型,和内力位移的窗口。点击“查看-观览器”可打开或关闭此窗口。 二、建模 建模由:节点+单元+位移约束+荷载条件+材料性质,5个命令组成。 1、节点 点击“命令-节点”出现下图,依次将模型的各点的坐标输入即可。 2、单元 点击“命令-单元”出现下图,将刚才输入的点连接起来,注意选好杆端的连接方

式。 3、位移约束 点击“命令-位移约束”出现下图,选取支座对应的节点码、制作类型、角度。 4、荷载条件 点击“命令-荷载条件”出现下图,平时主要用到单元荷载中的(1)集中力、(2)均布力。选择单元码,荷载的类型,输入荷载大小,集中力还需要调整在此单元上的位置,最后调整荷载方向。

5、材料性质 点击“命令-材料性质”出现下图,如果只求内力,则刚度可选择无穷大。求结构位移时需要输入抗拉刚度EA,E为弹性模量,以钢材为例弹性模量 E=2.06x105N/mm2=2.06x108105kN/m2,A为杆件横截面面积,抗拉刚度即为ExA的 值。抗弯刚度EI,E为弹性模量,I为界面惯性矩,以矩形截面为例I=bh3/12,b-截面宽,h-截面高。型材可在型材表中查得,或者在截面特性小软件中查的,ExI的值即为抗弯刚度。到此模型建立完成 三、计算结果

1、内力计算 点击“求解-内力计算”出现下图,点击结构,选择轴力、剪力或者弯矩,可在观览器中看到结构相应的计算结果,也可以在上面选择单元,单元中的某一点来查看具体的内力值。点击输入可得到txt文件格式的计算结果。 2、位移计算 点击“求解-位移计算”出现下图,点击结构,观览器中出现结构在荷载作用下的位移情况,同上一步也可以选择某一单元中的某点来查看具体位移,点击输出得到txt 文件格式的位移结果。

数据结构习题与答案

第 1 章绪论 课后习题讲解 1. 填空 ⑴()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 【解答】数据元素 ⑵()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。 【解答】数据项,数据元素 【分析】数据结构指的是数据元素以及数据元素之间的关系。 ⑶从逻辑关系上讲,数据结构主要分为()、()、()和()。 【解答】集合,线性结构,树结构,图结构 ⑷数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。 【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系 ⑸算法具有五个特性,分别是()、()、()、()、()。 【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性 ⑹算法的描述方法通常有()、()、()和()四种,其中,()被称为算法语言。 【解答】自然语言,程序设计语言,流程图,伪代码,伪代码 ⑺在一般情况下,一个算法的时间复杂度是()的函数。 【解答】问题规模 ⑻设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。 【解答】Ο(1),Ο(nlog2n) 【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。 2. 选择题 ⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。 A 线性结构 B 非线性结构 C 存储位置 D 指针 【解答】C,D 【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。

数据结构课程教学大纲

《数据结构》教学大纲 课程性质专业必修课 课程名称数据结构课程编号*04069 适用专业计算机科学与技术/软件工程开课学期第3学期 总学时64 理论50 学分数 4 实践14 一、课程性质与目标 数据结构课程属于专业必修课。通过本课程数据结构的学习,学生应实现如下目标: 1.知识目标:本课程主要讲述线性表、栈、队列、字符串、数组、树、二叉树、图、查找表、内部排序等常用数据结构的基本概念、操作及其典型应用例子。通过本课程的学习,应使学生掌握数据结构的概念及不同的存储结构、掌握一些典型算法原理和方法,且能够在不同存储结构上实现编程,同时,对于算法设计的方式和技巧也有所体会。 2.能力目标 (1)独立获取知识的能力——逐步掌握科学的学习方法,不断地扩展知识面,增强独立思考的能力,更新知识结构; (2)科学观察和思维的能力——运用数据结构的基本理论,熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结构。 (3)分析问题和解决问题的能力——学会利用数据结构原理分析实际问题,提高发现问题与解决问题的能力。对部分优秀的学生,培养其在知名程序设计在线评测系统(如POJ等)中求解实际问题的能力。 (4)求实精神——通过数据结构理论课程教学,培养学生严谨求实的科学态度和刻苦钻研的作风。 (5)实践能力——通过学习,有意识地培养学生编写高质量、高效率程序的能力和风格。 3.素质目标:使学生具备一定的计算思维,热爱算法设计和程序实现,面对实际问题能转换为计算机能够求解的过程并选择合适的数据结构,设计出在时间和空间上具备一定高效率的程序,培养学生学习算法设计与实现的细心和耐心,培养学生坚韧不拔,攀登技术高峰的优秀品质。让部分优秀的学生热爱上湖南省大学生程序设计竞赛,体会ACM程序设计竞赛的魅力。 二、课程教学基本要求 课程前应该认真预习,特别是前导课程相关知识体系; 课中应该认真听课,参与教学过程中的互动、回答问题及联系实际编程; 课后积极做好复习、认真完成作业及课程设计相关实践教学的环节。作业应具备一定实用性的数据结构和算法实现为主,对部分优秀学生,引入一定量的知名程序设计在线评测系统(如POJ等)中与数据结构相关的题目进行编程并在线提交验证正确性与时间、空间效率。 三、教学内容与学时分配

结构力学求解器教程

结构力学求解器教程文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

结构力学求解器教程 一、软件界面介绍 1、命令窗口:所有命令都是在本窗口中输入。 2、观览器:浏览模型,和内力位移的窗口。点击“查看-观览器”可打 开或关闭此窗口。 二、建模 建模由:节点+单元+位移约束+荷载条件+材料性质,5个命令组成。 1、节点 点击“命令-节点”出现下图,依次将模型的各点的坐标输入即可。 2、单元 点击“命令-单元”出现下图,将刚才输入的点连接起来,注意选好杆端 的连接方式。 3、位移约束 点击“命令-位移约束”出现下图,选取支座对应的节点码、制作类型、 角度。 4、荷载条件 点击“命令-荷载条件”出现下图,平时主要用到单元荷载中的(1)集中力、(2)均布力。选择单元码,荷载的类型,输入荷载大小,集中力还 需要调整在此单元上的位置,最后调整荷载方向。 5、材料性质 点击“命令-材料性质”出现下图,如果只求内力,则刚度可选择无穷

大。求结构位移时需要输入抗拉刚度EA,E为弹性模量,以钢材为例弹性模量E=mm2=m2,A为杆件横截面面积,抗拉刚度即为ExA的值。抗弯刚度 EI,E为弹性模量,I为界面惯性矩,以矩形截面为例I=bh3/12,b-截面宽,h-截面高。型材可在型材表中查得,或者在截面特性小软件中查的,ExI的值即为抗弯刚度。到此模型建立完成 三、计算结果 1、内力计算 点击“求解-内力计算”出现下图,点击结构,选择轴力、剪力或者弯 矩,可在观览器中看到结构相应的计算结果,也可以在上面选择单元,单元中的某一点来查看具体的内力值。点击输入可得到txt文件格式的计算结果。 2、位移计算 点击“求解-位移计算”出现下图,点击结构,观览器中出现结构在荷载 作用下的位移情况,同上一步也可以选择某一单元中的某点来查看具体位移,点击输出得到txt文件格式的位移结果。 四、注意事项 1、结构力学求解器中没有给定单位,所有单位均要自己统一,例如以 标准单位m、kN为例,输入节点的坐标时单位为m,输入荷载单位为kN、kN/m、kN/m2,弹性模量E单位为kN/m2,截面面积A单位为m2,截面惯性矩I单位为m4。最后计算得到的结构内力单位分别为轴力、剪力(kN)、弯矩(kN*m)、位移(m)。 2、输入新命令时光标必须位移新的一行的行首,点击内力计算,位移

数据结构教程李春葆第4版知识点习题答案

第1章绪论 知识点归纳 一、数据结构概述 1.数据结构的定义 (1)基本概念 数据是描述客观事物的数和字符的集合,是计算机能操作的对象的总称,也是计算机处理信息的某种特定的符号表示形式。 (2)相关术语 ① 数据元素 数据元素又称元素、节点、顶点、记录等。数据元素是数据的基本单位。有时候,一个数据元素可以由若干个数据项组成。 ② 数据项 数据项又称字段或域,它是具有独立含义的最小数据单位。 ③ 数据对象 数据对象是性质相同的数据元素的集合,它是数据的子集。 (3)数据结构的内容 ① 数据元素之间的逻辑关系,即数据的逻辑结构,它是数据结构在用户面前呈现的形式。 ② 数据元素及其关系在计算机存储器中的存储方式,即数据的存储结构,又称数据的物理结构。 ③ 施加在数据上的操作,即数据的运算。 (4)逻辑结构 数据的逻辑结构是从逻辑关系(主要是指数据元素的相邻关系)上描述数据的,它与数据的存储无关,是独立于计算机的。因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。 (5)存储结构 数据的存储结构是逻辑结构用计算机语言的实现或在计算机中的表示(又称映像),也就是逻辑结构在计算机中的存储方式,它是依赖于计算机语言的。一般只在高级语言(例如C/C++语言)的层次上讨论存储结构。 数据的运算最终需在对应的存储结构上用算法实现。 总之,数据结构是一门讨论“描述现实世界实体的数学模型(通常为非数值计算)及其之上的运算在计算机中如何表示和实现”的学科。 (6)数据结构的表示 对于一种数据结构,其逻辑结构总是惟一的,但它可能对应多种存储结构,并且在不同的存储结构中,同一运算的实现过程可能不同。 描述数据结构通常采用二元组表示:

李春葆《数据结构教程》(第4版)章节题库-绪论(圣才出品)

第三部分章节题库 第1章绪论 一、选择题 1.算法的计算量的大小称为计算的()。 A.效率 B.复杂性 C.现实性 D.难度 【答案】B 【解析】算法复杂度通常分为时间复杂度和空间复杂度,算法的计算量的大小可以用时间复杂度衡量,即可以称为计算的复杂度。 2.计算机算法指的是解决问题的步骤序列,它必须具备()三个特性。 A.可执行性、可移植性、可扩充性 B.可执行性、确定性、有穷性 C.确定性、有穷性、稳定性 D.易读性、稳定性、安全性 【答案】B 【解析】计算机算法是以一步接一步的方式来详细描述计算机如何将输入转化为所要求的输出的过程,或者说,算法是对计算机上执行的计算过程的具体描述,也就是解决问题的

步骤序列。一个算法通常需要具备五大特性:有穷性;确定性;可执行性;输入一个算法有零个或多个输入;输出一个算法有零个或者多个输出。 3.以下说法错误的是()。 (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 【答案】A 【解析】算法原地工作的含义不是指不需要任何额外的辅助,而是算法所需要的辅助空间不随着问题的规模而变化,是一个确定的值。 4.以下与数据的存储结构无关的术语是()。 A.循环队列 B.链表 C.哈希表 D.栈

【答案】D 【解析】循环队列体现线性表是以顺序存储。用散列法存储的线性表称散列表。链表说明线性表是以链式结构存储的。栈不能体现出是顺序还是链式存储结构。 5.在下面的程序段中,对x的赋值语句的时间复杂度为() FOR i:=1 TO n DO FOR j:=1 TO n DO x:=x+1: A.O(2n) B.O(n) C.O(n2) D.O(log2n) 【答案】C 【解析】两个循环嵌套,那么语句x:=x+1:则被执行了n2次。 6.程序段 FOR i:=n-1 DOWNT0 1 DO FOR j:=l TO i DO IF A[j]>A[j+1] THEN A[j]与A[j+1]对换; 其中n为正整数,则最后一行的语句最坏情况下的时间复杂度是()。 A.D(n)

数据结构课程教学大纲共三套

数据结构课程教学大纲(三套) 《数据结构》课程教学大纲(36/36课时) 一、课程的性质和任务 数据结构是计算机及应用专业中一门重要的专业基础课程,在计算机软件的各个领域中均会使用到数据结构的有关知识。当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续课程,特别是软件方面的课程打开厚实的基础。因此,数据结构课程在计算机应用专业中具有举足轻重的作用。 本课程的任务是:在基础方面,要求学员掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。总言之,使应用者较全面的掌握各种常用的数据结构,提高运用数据结构解决实际问题的能力。 二、课程的基本要求 本课程的教学基本要求如下: 本课程要求理论必须与上机实践操作相结合,多做题和调试算法,实现算法。实践项目只利用课堂时间是不够的,必须提前布置给学生。通过本课程的学习与实践,学生应达到: 1、掌握数据结构的基本概念和基本理论; 2、熟练掌握顺序表、链表、队列、栈、树以及二叉树、图等基本数据结构的设计和分析; 3、熟练地掌握常用算法(递归、遍历、查找、排序)的知识; 4、能对所求解的问题进行分析,抽象出逻辑结构,选择合适的存储结构,定义所需的运算,设计相应的算法; 5、对算法进行分析和评价。

三、教学内容(一)理论教学

(二)实践环节

四、课时分配 《数据结构》课程共4学分,课内72学时,其中理论课36学时,上机36学时。 五、大纲说明 本课程必须理论与上机实践操作相结合,并要教、学、练相结合,讲清基本

结构力学求解器教程

SM Solver 简明教程 编者: Local HUST 2009年3月31号

第一部分:绪论 在绪论里我想说明两个问题,一个是一些题外的话,一个就是求解器的功能的说明。 结构力学求解器即SM Solver是一个很轻巧的计算软件,但是其功能相对来说来是比较强大的,其实它的操作并不复杂(相对其它一些工程上常用的计算软件来说,如ANSYS),但是我在学习的过程中却发现结构力学求解器的教程还真的是不多,在校图书馆里查找了一下没有相关的书籍,在网上百度了一下没有发现在什么有用的东西,我想是因为这个软件很简单没有必要专门写个教程,但是我想一个教程对一个初学者来说还是很有用的,我便有这样一个自己试着去写一个简教程的想法,于是我就小小的研究了下这个程序。来给出一些简单的供初学者入门的指导。当然由于我个人的水平有限再加上研究的时间也不长可能给大家写的东西只是一些很粗糙的很表面的,希望大家在读的过程中能够够给我多多提提宝贵的意见和建议帮助我进步,也帮助进一步的完善这个教程。 对于结构力学求解器有很多的版本,为了明确期间,这里先简单的介绍一下我用的这个求解器的版本。 这个版本的相关信息: SM Solver for student 版本1.5(学生版) ISBN 7-900015-23-X 清华大学土木系结构力学考研室研制 高等教育出版社出品 为什么要选择这个版本有以下几个原因: 一:因为这个教程我主要面对学生的,所以在些选这个版本还是比较合适的。二:这个版本的求解器是我们在学习阶段比较好的一个选择,简单易学。

三:这个版本的功能还是可以的,能够解决我们平时学习中遇到的问题。 四:软件之间都是相通的,精通一个其它的自己完全可以去学习,因为已经有了基础。 这个教程内容不多,为了更好的帮助大家理解,在编排的过程中我在其中插入了好多截取的实例图片,这个能够更好的的去让大家学习实际的操作以及每一步操作人机交互的结果界面。 程序功能 SM Solver是结构力学辅助分析计算的通用程序。其主要功能如下。 自动求解功能: (1) 平面体系的几何组成分析,对于可变体系可静态或动画显示机构模态; (2) 平面静定结构和超静定结构的内力计算和位移计算,并绘制内力图和位移图; (3) 平面结构的自由振动和弹性稳定分析,计算前若干阶频率和屈曲荷载,并静态或动画显示各阶振型和失稳 模态; (4) 平面结构的极限分析,求解极限荷载,并可静态或动画显示单向机构运动模态; (5) 平面结构的影响线分析,并绘制影响线图; 智能求解功能: (1) 平面体系的几何构造分析:按三刚片法则求解,给出求解步骤; (2) 平面桁架的截面法:找出使指定杆为截面单杆的所有截面; (3) 平面静定组合结构智能求解:给出求解步骤; 其它辅助功能: (1) 强大的命令文档编辑及文件读写功能。 (2) 二维结构的图形显示; (3) 分析求解结果的数值显示、图形显示和动画显示。 几何组成

数据结构课程 课后习题答案

《数据结构简明教程》练习题及参考答案 练习题1 1. 单项选择题 (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.易读性、稳定性和安全性 答:B 2. 填空题 (1)数据结构包括数据的①、数据的②和数据的③这三个方面的内容。 答:①逻辑结构②存储结构③运算 (2)数据结构按逻辑结构可分为两大类,它们分别是①和②。 答:①线性结构②非线性结构 (3)数据结构被形式地定义为(D,R),其中D是①的有限集合,R是D上的②有限集合。

答:①数据元素 ②关系 (4)在线性结构中,第一个结点 ① 前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点 ② 后继结点,其余每个结点有且只有1个后继结点。 答:①没有 ②没有 (5)在树形结构中,树根结点没有 ① 结点,其余每个结点有且只有 ② 个前驱结点;叶子结点没有 ③ 结点,其余每个结点的后继结点数可以是 ④ 。 答:①前驱 ②1 ③后继 ④任意多个 (6)在图形结构中,每个结点的前驱结点数和后继结点数可以是( )。 答:任意多个 (7)数据的存储结构主要有四种,它们分别是 ① 、 ② 、 ③ 和 ④ 存储结构。 答:①顺序 ②链式 ③索引 ④哈希 (8)一个算法的效率可分为 ① 效率和 ② 效率。 答:①时间 ②空间 3. 简答题 (1)数据结构和数据类型两个概念之间有区别吗? 答:简单地说,数据结构定义了一组按某些关系结合在一起的数组元素的集合。数据类型不仅定义了一组数据元素,而且还在其上定义了一组操作。 (2)简述线性结构、树形结构和图形结构的不同点。 答:线性结构反映结点间的逻辑关系是一对一的,树形线性结构反映结点间的逻辑关系是一对多的,图在结构反映结点间的逻辑关系是多对多的。 (3)设有采用二元组表示的数据逻辑结构S=(D,R),其中D={a ,b ,…,i },R={(a ,b ),(a ,c ),(c ,d ),(c ,f ),(f ,h ),(d ,e ),(f ,g ),(h ,i )},问相对于关系R ,哪些结点是开始结点,哪些结点是终端结点? 答:该逻辑结构为树形结构,其中a 结点没有前驱结点,称为根结点,b 、e 、g 、i 结点没有后继结点,是终端结点,也称为叶子结点。 (4)以下各函数是算法中语句的执行频度,n 为问题规模,给出对应的时间复杂度: T 1(n )=n log 2n -1000log 2n T 2(n )=3log 2n -1000log 2n T 3(n )=n 2 -1000log 2n T 4(n )=2n log 2n -1000log 2n 答:T 1(n )=O(n log 2n ),T 2(n )=O( ),T 3(n )=O(n 2 ),T 4(n )=O(n log 2n )。 (5)分析下面程序段中循环语句的执行次数。 int j=0,s=0,n=100; do { j=j+1; s=s+10*j; } while (j

数据结构考研题库绪论【圣才出品】

第1章绪论 一、单项选择题 1.每个存储结点只含有一个数据元素,存储结点存放在连续的存储空间,另外有一组指明存储位置的表,该存储方式是()存储方式。 A.顺序 B.链接 C.索引 D.散列 【答案】C 【解析】根据索引的定义,除表本身以外,还需建立一个“索引表”,这个表指明存储位置加快结点的查找过程。 2.在()存储结构中,数据结构中元素的存储地址与其关键字之间存在某种映射关系。 A.树形存储结构 B.链式存储结构 C.索引存储结构 D.散列存储结构 【答案】D 【解析】散列存储结构中是根据设定的哈希函数和处理冲突的方法将一组关键字映像到一个连续的地址集上,并以关键字在地址集中的象作为记录在表中的存储位置。而树形存储

结构、链式存储结构和索引存储结构中关键字在结构中的相对位置是随机的。 3.以下属于逻辑结构的是()。 A.顺序表 B.哈希表 C.有序表 D.单链表 【答案】C 【解析】数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。数据的逻辑结构是对数据之间关系的描述,与数据元素本身的形式、内容、相对位置、所含结点个数都无关。顺序表、哈希表、单链表都涉及到数据的存储结构,有序表是指表中数据有序,与逻辑结构无关。 4.以下与数据的存储结构无关的术语是()。 A.循环队列 B.链表 C.哈希表 D.栈 【答案】D 【解析】数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构,它们是数据的两种最基本的存储结构。ABC三项,都属于链式存储结构。D项,栈则是指从应用的角度来说的一种后进先

出的线性表结构,与具体的存储结构无关。 5.在数据结构中,与所使用的计算机无关的是数据的()结构。 A.逻辑 B.存储 C.逻辑和存储 D.物理 【答案】A 【解析】物理结构又称存储结构。逻辑结构描述的是数据元素之间的关系,与所使用的计算机无关,而存储结构是逻辑结构在计算机中的表示,与具体使用的计算机有关。 6.数据结构是具有()的数据元素的集合。 A.性质相同 B.特定关系 C.相同运算 D.数据项 【答案】B 【解析】数据结构由数据元素集合和数据元素关系两部分组成。 7.以下说法正确的是()。 A.数据结构的逻辑结构是指数据的各数据项之间的逻辑关系。 B.数据元素是数据结构的最小单位。

c++学习视频资料全集

?[编程开发]《《C语言,好爽》《C++,好爽》《JAVA,好爽》让天下没有难学的知识《好爽》系列宁采臣所有开源的视频》(C, C++,JAVA)V2010版[压缩 包][2011-11-29] ?[计算机]《MS Visual C++ 6.0 程序员指南》wdl pdf[PDF][2011-11-08] ?[计算机与网络]《C++ 大学教程(第八版)》(C Interfaces And Implementations Techniques For Creating Reusable Software)文字版[PDF][2011-11-02] ?[计算机与网络]《Visual C + + 2010入门经典》(Ivor Horton's Beginning Visual C++ 2010)文字版[PDF][2011-10-15] ?[计算机]《《好爽》系列的C/C++部分(宁采臣公开的)》(HaoShuang C C++)V2011[2011-10-11] ?[计算机与网络]《VC++编程技术与难点剖析》扫描版[PDF][2011-10-05] ?[计算机与网络]《Visual C++ 2010开发权威指南》(Visual C++ 2010开发权威指南)扫描版[PDF][2011-09-14] ?[计算机与网络]《C++ Primer(第4版)习题解答》(C++ Primer(第4版)习题解答)扫描版[PDF][2011-09-02] ?[计算机]《二级C++语言程序设计(2011年版)课堂》[压缩包][2011-08-15] ?[日韩音乐]SKE48 -《パレオはエメラルド》单曲(TYPEA+B+C++剧场盘+PV)[MP3][2011-08-09] ?[计算机与网络]《高级语言C++程序设计》文字版[PDF][2011-08-09] ?[计算机与网络]《新C++标准:C++0x 概述》(Overview of the New C++ : C++0x)英文文字版[PDF][2011-07-03] ?[计算机与网络]《P2P网络技术原理与C++开发案例》影印版[PDF][2011-06-09]

数据结构教学大纲(完整资料).doc

【最新整理,下载后即可编辑】 XX师范学院大学本科专业教学大纲中文课程名称:数据结构 英文课程名称:Data Structures 适用专业:信息管理与信息系统 制定单位:商学院 执笔人: 审核人: 单位负责人: 制定时间:2017-2-10 XX师范学院教务处

二〇一七年一月

《数据结构》课程教学大纲 一、课程基本信息 (一)课程代码及课程名称 1.课程代码:06151090 2.课程名称(中/英文):数据结构/Data Structures (二)课程类别及课程性质 专业教育必修课程 (三)学时及学分: 总学时数:64;总学分数:3。 其中,讲授学时:32 ,实践(实验)学时:32。 (四)适用专业及开设学期 适用专业:信息管理与信息系统(本科) 开设学期:第二学期 (五)先修课程与后续课程 先修课程:大学计算机基础、高等数学、C语言程序设计 后续课程:数据库原理与应用、管理信息系统分析与设计、管理信息系统、Java程序设计(高级) 二、课程简介 “数据结构”是信息管理与信息系统专业一门重点专业基础

课程,也是学科专业核心专业基础课程之一,属于专业学位必修课程。本课程的教学任务是针对大量的信息处理对象,介绍对象信息与数据表示的各种抽象的、基本的逻辑结构及其上的基本运算操作。通过研究各种基本数据结构内在的逻辑关系和它们在计算机中的存储表示方式,初步建立数据结构上基本运算操作的正确性概念,同时,结合各种典型问题讨论其上的各种基本运算操作及其基本算法,讲授各种数据结构的特点、适用范围,以及对一些基本算法效率的定性和定量分析方法,为后续课程提供必要的数据结构基础。此外,配合实验课程的教学中,学生应理论联系实际,理论指导实践,通过规范地完成一系列数据结构实验进一步巩固所学的相关书本知识,在知识、能力、素质上得到进一步的提高。 三、教学目的与基本要求 (一)该课程教学目的与专业培养要求对应关系矩阵

《数据结构》教程c语言版

《数据结构》 第五版 清华大学自动化系 李宛洲 2004年5月

目录 第一章数据结构--概念与基本类型 (6) 1.1概述 (6) 1.1.1数据结构应用对象 (6) 1.1.2学习数据结构的基础 (7) 1.1.2.1 C语言中的结构体 (7) 1.1.2.2 C语言的指针在数据结构中的关联作用 (8) 1.1.2.3 C语言的共用体(union)数据类型 (12) 1.1.3数据结构定义 (15) 1.2线性表 (17) 1.2.1 顺序表 (18) 1.2.2 链表 (20) 1.2.2.1链表的基本结构及概念 (20) 1.2.2.2单链表设计 (22) 1.2.2.3单链表操作效率 (29) 1.2.2.4双链表设计 (30) 1.2.2.5链表深入学习 (32) 1.2.2.6稀疏矩阵的三元组与十字链表 (36) 1.2.3 堆栈 (41) 1.2.3.1堆栈结构 (41) 1.2.3.2基本操作 (42) 1.2.3.3堆栈与递归 (44) 1.2.3.4递归与分治算法 (45) 1.2.3.5递归与递推 (49) 1.2.3.6栈应用 (52) 1.2.4 队列 (57) 1.2.4.1队列结构 (57) 1.2.3.2队列应用 (59) 1.3非线性数据结构--树 (64) 1.3.1 概念与术语 (64) 1.3.1.1引入非线性数据结构的目的 (64) 1.3.1.2树的定义与术语 (65) 1.3.1.3树的内部节点与叶子节点存储结构问题 (66) 1.3.2 二叉树 (66) 1.3.2.1二叉树基本概念 (66) 1.3.2.2完全二叉树的顺序存储结构 (68) 1.3.2.3二叉树遍历 (69) 1.3.2.4二叉树唯一性问题 (71)

结构力学大作业

西南大学网络与继续教育学院课程考 试答题卷 学号: 姓名: 层次: 类别: 专业: 201 年 月 课程名称【编号】: 【 】 卷 题号一二三四五总分评卷人 得分 (横线以下为答题区) 一、名词解释:本大题共10个名词,请任选5个作答,每个4分,共计20分。 1、结构的计算简图:实际结构往往是很复杂的,进行力学计算以前,必 须加以适当地简化,忽略次要因素,显示其基本的特点,用一个简化的 图形来代替实际结构,这个图形称为结构的计算简图。 2、几何不变体系:在不考虑材料应变的条件下,在任意荷载作用下, 几何形状和位置保持不变的体系。 3、自由度:是指物体或体系运动时可以独立变化的几何参数的数目。 即确定物体或体系位置所需的独立坐标数。 4、约束(或联系):用于限制体系运动的装置

5、叠加原理:结构中有一组荷载(外力、温度、支座沉陷等)产生的内力或位移等于每一荷载单独作用产生的内力或位移的总和。 二、简答题:本大题共3小题,请任选2小题作答,每题10分,共20分。 1、简述刚架内力计算步骤。 答:(1)求支座反力。简单刚架可由三个整体平衡方程求出支座反力,三铰刚架及主从刚架等,一般要利用整体平衡和局部平衡求支座反力。(2)求控制截面的内力。控制截面一般选在支承点、结点、集中荷载作用点、分布荷载不连续点。控制截面把刚架划分成受力简单的区段。运用截面法或直接由截面一边的外力求出控制截面的内力值。(3)根据每区段内的荷载情况,利用"零平斜弯”及叠加法作出弯矩图。作刚架Q、N图有两种方法,一是通过求控制截面的内力作出;另一种方法是首先作出M图;然后取杆件为分离体,建立矩平衡方程,由杆端弯矩求杆端剪力;最后取结点为分离体,利用投影平衡由杆端剪力求杆端轴力。当刚架构造较复杂(如有斜杆),计算内力较麻烦事,采用第二种方法。(4)结点处有不同的杆端截面。各截面上的内力用该杆两端字母作为下标来表示,并把该端字母列在前面。(5)注意结点的平衡条件。 2、简述计算结构位移的目的。 答:(1) 验算结构的刚度。校核结构的位移是否超过允许限值,以防止构件和结构产生过大的变形而影响结构的正常使用。(2) 为超静定结构的内力分析打基础。超静定结构的计算要同时满足平衡条件和变形连续条件。(3) 结构制作、施工过程中也常需先知道结构的位移。 三、分析计算题:本大题共3小题,每小题20分,共计60分。 1、几何组成分析:本题共3个体系如图1,图2,图3所示,任选2个进行分析,每个10分,计20分。

严蔚敏版数据结构课后习题答案-完整版

第1章绪论 1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。 解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据对象是性质相同的数据元素的集合,是数据的一个子集。 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 存储结构是数据结构在计算机中的表示。 数据类型是一个值的集合和定义在这个值集上的一组操作的总称。 抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。 1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。 解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据

类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。 1.3 设有数据结构(D,R),其中 {}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r = 试按图论中图的画法惯例画出其逻辑结构图。 解: 1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。 解: ADT Complex{ 数据对象:D={r,i|r,i 为实数} 数据关系:R={} 基本操作: InitComplex(&C,re,im) 操作结果:构造一个复数C ,其实部和虚部分别为re 和im DestroyCmoplex(&C)

相关文档
相关文档 最新文档