第一章数据结构概述.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 谢陆宁 xieluning@shift.edu.cn成绩如何评定? 平时成绩:40% 考勤:10% 作业:30% 期末考试:60% 教材和参考书 黄国瑜,数据结构(C语言版),清华大学出版社 严蔚敏,数据结构,清华大学出版社 张瑞军,数据结构(C语言描述),清华大学出版社 数据结构基础(C语言版),[美] Ellis Horowitz,清华大学出版社 第一章 数据结构的基本概念 1.1 何谓数据结构 1.2 算法 1.3 程序结构化设计风格 1.4 程序分析的方法 1.5 时间复杂度分析 1.6 渐进式表示法 1.1 数据结构 计算机解决问题的步骤: 分析问题,建立数学模型:界定问题的输入输出边界,抽取问题的实质,对问题进行抽象,形成相应的数学模型。 确定数据结构:设计合适的数据结构对解决问题所需的数据及数据之间的关系进行存储,描述出其相应的逻辑结构及存储结构。 算法设计:根据问题要求和数据结构的特点来选择和设计算法,同时要考虑算法的效率和占用内存空间。 编程实现 1.1 数据结构 例子:新生入学注册 学号的编码规则。采用入学年份+学院编号+专业编号+流水号的编码方式 1.1 数据结构 确定数据结构。设计适当的数据格式来存储和表达这些信息 算法设计。主要涉及学生信息的增加、删除、修改、查询等操作 程序设计 1.1 数据结构 数据结构这门学科主要完成以下工作: 数据集合中个数据元素之间的逻辑关系,即数据的逻辑结构 在对数据集合进行访问和处理时,个数据元素在计算机物理介质中的实际存储,即数据的物理结构 对数据集合中个数据元素的各种运算 1.1 数据结构 数据:对客观事物的符号表示,它描述客观事物的数值、字符等所有输入到计算机中并能被计算机所接受和处理的符号的集合 数据类型:程序语言中变量所能表示并存储的数据种类 在C语言中 数据类型:基本类型和构造类型 基本类型:整型、浮点型、字符型 构造类型:数组、结构、联合、指针、枚举型、自定义 1.1 数据结构 数据对象(数据实体):是性质相同的数据元素的集合。是数据的一个子集。 整数的数据对象是{…-3,-2,-1,0,1,2,3,…} 英文字符类型的数据对象是{A,B,C,D,E,F,…} 数据结构:数据实体中元素之间的关系,包括数据的表示法(逻辑结构和存储结构)和运算 数据结构不同于数据类型,也不同于数据对象,它不仅要描述数据类型的数据对象,而且要描述数据对象各元素之间的相互关系。 1.1 数据结构 数据的逻辑结构和物理结构 数据之间的相互关系称为逻辑结构。通常分为四类基本结构: 一、集合:结构中的数据元素除了同属于一种类型外,别无其它关系。 二、线性结构:结构中的数据元素之间存在一对一的关系。 三、树状结构:结构中的数据元素之间存在一对多的关系。 四、图状结构或网状结构:结构中的数据元素之间存在多对多的关系。 数据结构在计算机中的表示称为数据的物理结构,又称为存储结构。 1.2 算法 数据结构与算法是有紧密联系的。对于某一问题,如果使用计算机求解,其本质上是对某一种或几种数据结构施加一些运算。 程序=数据结构+算法 算法是对特定问题求解步骤的一种描述,算法是指令的有限序列,其中每一条指令表示一个或多个操作。 1.2 算法 算法是指为了完成某项特定工作所设计出的一连串用来说明工作是如何被完成的步骤。 算法必须满足下列几个条件: 输入:有零个或多个输入数据 输出:具有一个以上的结果输出 定义明确:每一个步骤的语句必须很明确,不允许有二义性 有限性:对所有情形都能在执行有限步之后结束 有效性:每一个步骤必须是基本的、可执行的(feasible)指令(即使是用纸和笔也可以完成计算) 1.2 算法 用来写算法的方式: 条列式的步骤 流程图:以图形符号来描述解决问题的方法。 伪码:以夹杂程序语法和自然语言的形式来描述解决问题的方法。 程序语句 1.2 算法 算法设计的要求 正确性:算法应满足具体问题的需求,对任何合法的输入,算法都能给出正确的输出。 可读性:算法应该好读。以有利于阅读者对程序的理解。 健状性:算法应具有容错处理。当输入非法数据时,算法能适当的作出反应,并做相应的异常处理,而不是产生莫名其妙的输出结果。 效率与存储量需求:效率指的是算法执行的时间;存储量需求指算法执行过程中所需要的最大存储空间。一般,这两者与问题的规模有关。 1.3 程序结构化与设计风格 程序设计是设计和编制程序的全过程。程序,设计发展的历史,可以分为三个不同的时期: 20世纪50年代,程序都是用指令代码或汇编语言来编写的。评论程序好坏的标准是能否做到指令条数少,存储单元省,执行速度快。 20世纪60年代,高级语言蓬勃发展,

文档评论(0)

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

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

1亿VIP精品文档

相关文档