第1章 初识数据结构.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 初识数据结构

数据结构 本课程的教学方式 课堂教学(48学时) 课后作业 实验上机(16学时) 考试(笔试) 其他 例2 人机对奕问题 例3 多叉路口交通灯管理问题 课程背景 计算机相关专业的一门重要的专业基础课 主要研究计算机加工对象的逻辑结构、在计算机中的表示形式以及实现各种基本操作的算法 是学习计算机其他相关课程的必备条件,是提高编程能力的必要条件 需程序设计类课程的支撑(C/C++/Java) 课程的要求: 掌握各类基本数据结构类型和相应的存储结构及该数据结构上的各种操作 提高阅读和编写算法的能力 针对给定问题,选择适合的数据结构,设计和分析算法 内容 第一章 初识数据结构 1.1 数据结构讨论范畴 由于数据的表示方法和组织形式直接关系到程序对数据的处理效率,而系统程序和许多应用程序的规模很大,结构相当复杂,处理对象又多为非数值性数据。因此,单凭程序设计人员的经验和技巧已难以设计出效率高、可靠性强的程序。于是,就要求对计算机程序加工的对象进行系统的研究,即研究数据的特性以及数据之间存在的关系——数据结构(Date Structure)。 (1) 如何选择合适的数据表示(结构); (2) 如何有效地组织计算机存贮; (3) 在此基础上又如何有效地实现对象之间的“运算”关系。 发展史 (1) “数据结构”作为一门独立的课程在国外是从1968年才开始设立的。 (2) 1968年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。 地位 (1) “数据结构”在计算机科学中是一门综合性的专业基础课。 (2) 数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。 (3) 数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。 什么是数据结构 计算机解决一个具体问题时,首先要从具体问题中抽象出一个适当的数学模型,然后设计一个解此数学模型的算法,最后编出程序、进行测试、调整直至得到最终解答。寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。 什么是数据结构 计算机算法与数据的结构密切相关,算法无不依附于具体的数据结构,数据结构直接关系到算法的选择和效率。 运算是由计算机来完成,这就要设计相应的插入、删除和修改的算法。也就是说,数据结构还需要给出每种结构类型所定义的各种运算的算法。 直观定义:数据结构是研究程序设计中计算机操作的对象以及它们之间的关系和运算的一门学科。 数据结构作为一门学科主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。 (1)数据的逻辑结构; (2)数据的物理存储结构; (3)对数据的操作(或算法); 通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。 1.2基本概念 1.2基本概念和术语 表 1-1 个人书库 数据是人们利用文字符号、数字符号以及其他规定的符号对现实世界的事物及其活动所做的描述。在计算机科学中,数据的含义非常广泛,我们把一切能够输入到计算机中并被计算机程序处理的信息,包括文字、表格、图象等,都称为数据。 表 1-1 个人书库 个人书库管理程序所要处理的数据可能是一张如表1-1所示的表格。 1.2基本概念和术语 1.2基本概念和术语 数据类型 数据类型(data structure)是和数据结构密切相关的一个概念,它最早出现在高级程序语言中,用以描述(程序)操作对象的特性。数据类型是一个值的集合和定义在这个值集上的一组操作的总称。例如,C语言中的整型变量,其值集为某个区间上的整数(区间大小依赖于不同的机器),定义在其上的操作为加、减、乘、除和取模等算术运算。 抽象数据类型(Abstract Data Type)是指一个数学模型及该模型上定义的一组操作的集合。抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。  ADT 抽象数据类型名 Data 数据对象描述 Operation? 操作声明 endADT 抽象数据类型名 抽象数据类型复数的定义   ADT complex //复数抽象数据类型 Data D={e1,e2| e1,e2∈实数}

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档