网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构 第一章讲 绪论.ppt

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

对类C及本书的一些约定: (1)数据元素的类型抽象为ElemType,集合类型抽象为ElemSet,具体类型在实现时确定; (2)数据结构的表示用typedef定义; (3)用x表示引用参数x,用以返回操作结果; (4)函数类型Status用以表示函数的返回值为函数的执行状态,若无需返回值时,直接置成void; (5)函数中辅助变量可以不说明,实现时自行定义; (6)用注释的形式说明算法的功能、参数表中各参数的定义和输入/出、属性、各种变量的作用、入口初值和应满足的条件等,注释用单行注释形式“//…”; (7)输入、输出语句中省略格式串; (8)常用的若干个预定义的常量和类型: #define TRUE 1 #define INFEASIBLE -1 #define FALSE 0 #define OVERFLOW -2 #define OK 1 typedef int Status; #define ERROR 0 1.4 算法和算法分析 1、算法的概念与性质 算法(Algorithm)是用来解决某个特定问题的方法与步骤,它是由有限个指令构成。其中每一条指令表示一个解题的步骤,可以有一个或多个操作。 一系列将输入转换为输出的操作步骤; 算法描述方法:自然语言、流程图或程序设计语言等; 算法独立于具体的计算机。 算法设计的关键是解决问题的方法和过程描述清楚。 例如,将如下一个数字序列排序为非降序。 输入:数字序列:(a1 ,a2 ,…,an) 输出:输出序列的一个枚举(a1,a2,…,an‘)使得:a1≤a2≤…≤a3。 对于一个具体的输入(31,41,59,26,41,58),排序算法应返回输出序列(26,31,41,41,58,59)。 ?输入实例:即满足问题陈述中所给出的限制、为计算该问题的解所需要的所有输入构成的一组具体数据。 算法的特征: 输入:有零个或多个的输入,作为算法加工的对象; 输出:至少一个输出。这些输出往往与输入之间有着某些特定关系的量; 有穷性:在执行有限操作步骤之后结束,且每一步都可在有穷时间内完成(即可接受的时间范围内); 确定性:算法中每一步都应当是确定的,无歧义(即二义性) 有效性:每一步都必须具有可执行性、基本的,可付诸实现的,并能得到确定的结果。 2.算法设计的分类 对需要处理的对象进行分析和研究,确定构成解决该问题所依据的思路: (1) 穷举法,也叫枚举法:是指枚举所有可能的解,用检验条件判断一一列举和测试,并从中找出那些符合要求的解作为问题的解。 (2) 迭代法:从一个初始估计值出发,寻找一系列近似解来解决问题的过程,为实现这一过程所使用的方法统称为迭代法。 (3) 递推法:递推法是利用问题本身所具有的一种递推关系求问题解的一种方法。它把问题分成若干步,找出相邻几步的关系,从而达到目的。 (4) 递归法:递归指的是这么一个过程,在过程执行过程中,直接或间接的调用自己。在复杂算法的描述中被经常采用。 递推法和递归法共的特点是,希望从问题中归纳总结某种规律,然后用某个公式表示出来,然后编写出相关算法。有时把递推法和递归法共同称为归纳法。 除此以外,还有贪婪法、分治法、动态规划法等多种算法设计方法。 * * 数据结构 Data Structure 张建林 刘玉铭 申贵成 编著 机械工业出版社 第一章 绪论 本章要点 围绕数据结构的发展历程,引入数据结构的概念和基本应用; 数据结构的基本定义及有关术语; 抽象数据类型的概念; 算法的基本概念、特性及算法分类、设计要求; 算法的时间、空间分析方法。 1.1 数据结构的由来与发展 自20世纪40年代计算机问世以来,以计算机为标志的信息技术产业的发展远远超出了人们对它的预期。 计算机已广泛而深入的应用到了人类社会的各个领域,计算机的应用已不再局限于解决那些传统的纯数值计算,而是更多地应用在企业管理、工业过程控制、办公自动化、经济管理、社会服务等非数值计算领域。 计算机处理的对象也由纯粹的数值数据发展到字符、图像、声音、表格等各种各样具有一定结构的数据。 程序设计新问题:必须深入分析和研究这些待处理的对象自身的特性;处理各数据对象之间的关系。这正是数据结构这门课程形成与发展的背景。 1.什么是数据结构 用计算机进行信息表示和处理的科学。这里涉及到两个方面的问题:信息的表示和信息的处理。 C或C++语言解决一个具体问题的方法,一般要经过以下几个步骤: (1) 首先从实际问题中抽象出一个适当的数学模型; (2) 然后设计一个解决此数学模型的算法; (3) 最后使用某种程序设计语言编写出程序; (4) 上机进行测试、调整,直到得到最终解答或解决问题。 (1)用二

文档评论(0)

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

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

1亿VIP精品文档

相关文档