数据结构与程序设计-绪论.pdf
《数据结构与程序设计-绪论.pdf》由会员分享,可在线阅读,更多相关《数据结构与程序设计-绪论.pdf(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、教育部高等教育司推荐教育部高等教育司推荐国 外 优 秀 信 息 科 学 与 技 术 系 列 教 学 用 书国 外 优 秀 信 息 科 学 与 技 术 系 列 教 学 用 书数据结构与程序设计数据结构与程序设计C+语言描述语言描述(影印版)Data Structures and Program Design in C+Robert L.KurseAlexandeer J.Ryba主讲:主讲:中山大学计算机系高集荣E_mail:GPDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义22004年3月11日1 学习数据结构的意义和要求学习数据结构的意义和要求2 数据结构的兴
2、起与发展数据结构的兴起与发展3 数据结构的研究对象数据结构的研究对象4 什么是数据结构什么是数据结构5 基本概念和术语基本概念和术语6 面向对象与数据结构面向对象与数据结构7 算法和算法分析算法和算法分析绪 论绪 论PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义32004年3月11日1.学习数据结构的意义及要求学习数据结构的意义及要求一、意义一、意义1.算法和数据结构是算法和数据结构是计算机科学计算机科学的两大支柱的两大支柱n计算机科学早期定义为:研究算法算法的科学n近期定义为:研究数据数据的科学2.数据结构是程序设计的基础数据结构是程序设计的基础Progra
3、m=Algorithms+Data Structure3.数据结构是计算机专业的一门综合性专业基础数据结构是计算机专业的一门综合性专业基础课课n是计算机专业本科生必修学位课程n是计算机研究生入学考试必考科目n是软件人员水平考试内容PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义42004年3月11日二、要求二、要求1.掌握面向对象的程序设计方法学,强调数据抽象及抽象思维能力的训练;2.掌握如何在不同场合权衡算法的设计,学会讨论不同程度的抽象以及算法的时空性能,强调在理论、设计、抽象三方面的能力的培养;3.掌握基本的算法分析及设计方法,如迭代、递归、逐步求精、分治
4、、动态规划、回溯与分枝定界等方法的基本思想及应用。三、培养目标三、培养目标1.提高阅读和编写算法的能力全面培养学生分析问题解决问题的综合能力2.结合实际应用问题的解决启发思维培养创新能力全面提高学生的综合专业素质PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义52004年3月11日四、教科书及主要参考书四、教科书及主要参考书n数据结构与程序设计C+语言描述影印版高等教育出版社,2001年n数据结构算法与应用C+语言描述SartajSahni著,汪诗林等译,机械工业出版社,2000年n数据结构与算法,齐德昱,清华大学出版社,2003年n数据结构与算法,王若梅等著,
5、中山大学出版社,2000年PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义62004年3月11日五、关于五、关于英文版英文版教教材材教材在内容方面的特点n先给出实例及技术说明,再介绍基本概念,每个ADT都在章节的最后给出n算法复杂度分析的介绍推迟到第7章,树和图的概念推迟到排序搜索之后n注重软件工程的原理并结合C+介绍OOPn每章后面都有复习要点以及练习便于学生巩固所学内容PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义72004年3月11日2.数据结构的兴起与发展数据结构的兴起与发展n数据结构问题起源于程序设计的发展。程序设计已
6、经历了3个阶段:第一阶段是无结构阶段第一阶段是无结构阶段(20世纪40年代至60年代)第二阶段是结构化程序设计阶段第二阶段是结构化程序设计阶段(20世纪60年代末至80年代)第三阶段是面向对象技术阶段第三阶段是面向对象技术阶段(20世纪80年代初,但真正流行是在20世纪90年代。)PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义82004年3月11日3.数据结构的研究对象数据结构的研究对象n计算机是一门研究用计算机进行信息表示和处理的科学。这里面涉及到两个问题:n信息的表示n信息的处理而信息的表示和组织又直接关系到处理信息的程序的效率。n数据结构研究的内容:数据
7、结构研究的内容:为在计算机上解决具体问题,应如何对所需的数据/信息及其关系进行组织(组织起来的数据就具有了结构关系),以及如何对它们进行基本操作。简言之,研究数据的组织方式(结构)及相应的抽象操作。PDF 文件使用 pdfFactory Pro 试用版本创建 n数据结构与数学、计算机硬件和软件有十分密切的关系。数据结构是介于数学、计算机硬件和计算机软件之间的一门计算机科学与技术专业的核心课程,是高级程序设计语言、编译原理、操作系统、数据库、人工智能等课程的基础。同时,数据结构技术也广泛应用于信息科学、系统工程、应用数学以及各种工程技术领域。n数据结构课程集中讨论软件开发过程中的设计阶段、同时设
8、计编码和分析阶段的若干基本问题。此外,为了构造出好的数据结构及其实现,还需考虑数据结构及其实现的评价与选择。因此,数据结构的内容包括三三个层次个层次的五五个个要要素素,如下表所示。方面数据表示 数据处理层次抽抽象象逻辑逻辑结构基本结构基本运运算算实现实现存储存储结构算法结构算法评价评价不同不同数据结构的数据结构的比较比较及算法分析及算法分析PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义102004年3月11日4.什么是数据结构什么是数据结构n众所周知,计算机的程序是对信息进行加工处理。在大多数情况下,这些信息并不是没有组织,信息(数据)之间往往具有重要的结构关
9、系,这就是数据结构的内容。那么,什么是数据结构呢?先看以下几个例子。l 例1、电话号码查询系统设有一个电话号码薄,它记录了N个人的名字和其相应的电话号码,假定按如下形式安排:(a1,b1)(a2,b2)(an,bn)其中ai,bi(i=1,2n)分别表示某人的名字和对应的电话号码。PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义112004年3月11日要求设计一个算法,当给定任何一个人的名字时,该算法能够打印出此人的电话号码,如果该电话簿中根本就没有这个人,则该算法也能够报告没有这个人的标志。n算法的设计,依赖于计算机如何存储人的名字和对应的电话号码,或者说依赖
10、于名字和其电话号码的结构。n数据的结构,直接影响算法的选择和效率。n上述的问题是一种数据结构问题。可将名字和对应的电话号码设计成:二维数组、表结构、向量。n假定名字和其电话号码逻辑上已安排成N元向量的形式,它的每个元素是一个数对(ai,bi),1in PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义122004年3月11日n数据结构还要提供每种结构类型所定义的各种运算的算法。l例2、图书馆的书目检索系统自动化问题l例3、计算机和人对奕问题l例4、多叉路口交通灯的管理问题n通过以上几例可以直接地认为:数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并
11、对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义132004年3月11日5.基本概念和术语基本概念和术语n数据数据(Data):是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。n数据数据类型类型(Data Type):一个值的集合和定义在这个值集上的一组操作的总称。数据类型主要表明数据的取值范围和操作特性,是具有相同取值范围和可实施同种操作的数据集合的总称。例如C语言中的无符号字符型代表闭区间0,255中的整数,对这种数可进行加、减、
12、乘、除、取模等算术运算。如果在特定的环境下,某种数据类型不能由其他数据类型复合而成,则称这种数据类型为原子类型,否则,称为复合类型(或导出类型、结构类型)。PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义142004年3月11日5.基本概念和术语基本概念和术语n数据数据元素元素(Data Element):能独立、完整地描述问题世界中的实体的最小数据单位称为数据数据元素元素(也称记录记录)。构成数据元素的不可分割的数据单位称为数据数据项项。例如,对于学生花名册,其中每个学生记录就是一个数据元素,而学生的姓名、年龄等项目为数据项。数据元素是讨论数据结构时涉及的最小
13、数据单位,其中的数据项一般不予考虑。n数据对象数据对象(Data Object):是性质相同的数据元素的集合。例如,所有学生记录的集合,就是该问题世界的一个数据对象。n数据结构数据结构(Data Structure):是相互之间存在一种或多种特定关系的数据元素的集合。PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义152004年3月11日n数据结构主要指逻辑结构和物理结构n数据之间的相互关系称为逻辑结构。通常分为四类基本结构:1.集集合合 结构中的数据元素除了同属于一种类型外,别无其它关系。2.线线性结构性结构 结构中的数据元素之间存在一对一的关系。3.树型树型
14、结构结构 结构中的数据元素之间存在一对多的关系。4.图型图型结构结构或网状或网状结构结构 结构中的数据元素之间存在多对多的关系。PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构与算法讲义162004年3月11日(a)集集合结构合结构(b)线线性结构性结构(c)树型树型结构结构(d)图形图形结构结构n 树形结构与图形结构均称为非线非线性结构性结构。PDF 文件使用 pdfFactory Pro 试用版本创建 数据结构的数据结构的表示方表示方法法示例示例教务处人事简表(表1-1)目录行包括六个数据项名,这些定义了表的结构。共有十条记录,一个记录就是一个数据元素。“职工号”的值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 程序设计 绪论
限制150内