- 1、本文档共405页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浙江工商大学 计算机与信息工程学院 二零零五年二月 第一章 绪 论 第1章 绪 论 数据结构的基本概念 数据类型和抽象数据类型 C语言的数据类型 用C语言描述算法的注意事项 算法设计目标和算法效率度量 1.1 数据结构的基本概念 1、数据:计算机能处理的信息;早期计算机主要进行数值计算,所以数据也主要是数值。但现今计算机的应用主要在非数值处理,所以计算机处理的信息范围在扩大,如在管理上有许多文字符号信息,在图形和图象上有关于图形或图象三维坐标、明亮度、色彩等信息,它们不在是简单的数值信息。 1.1 数据结构的基本概念 2、数据结构:表示数据之间的联系,由于数据的内涵扩大了,所以数据之间的联系也就变得复杂了。 数据结构可分为:逻辑结构和物理结构。 3、逻辑结构:我们把数据之间的联系进行抽象,它主要用于数据的前期分析阶段。 4、物理结构(存储结构):把数据及数据之间的联系存储到计算机中,既逻辑结构的计算机实现。 以上两个概念是我们本课程主要要讨论的内容之一。 1.1 数据结构的基本概念 5、数据元素:是数据的基本单位,是计算机进行输入输出操作的最小单位。一般数据元素由若干个相关的数据项组成。其中数据项是数据不可分的最小单位。 6、操作:是指数据结构上需要或能够进行的处理。对一个具体问题来说,不同的存储结构实现的具体算法就不同;相同的存储下也可有许多种不同的操作实现算法。 这个内容也是我们本课程要讨论的内容之一。 7、数据结构类型:存集合、线性表、 树(层次)、图(网状)。 1.1数据结构的基本概念 总之,数据结构的研究包括三个方面的内容:数据的逻辑结构、数据的物理存储结构和数据的操作实现算法。 1.2 数据类型和抽象数据类型 1、数据类型 这个概念并不是数据结构中所特有的概念,最早出现在高级程序设计语言中。 数据类型是一个值的集合和定义在这个值的集合上的一组操作的总称。或者说,是某种程序设计语言中已实现的数据结构。 注、C语言能描述的数据类型是非常丰富的。 2、抽象的数据类型 抽象的数据类型指的是用户进行软件系统设计时从问题的数学模型中抽象出来的逻辑数据结构和逻辑数据结构上的操作,而不考虑计算机的具体存储结构和操作的具体实现算法。该种类型的定义通常采用简洁、严谨的文字描述。 1.2 数据类型和抽象数据类型 说明: 抽象数据类型是软件设计者的一个非常有用的工具。它可以帮助软件设计者面对复杂系统的设计问题,可以一步步地分段进行设计,这样使设计简化而且清楚。 1.3 C语言的数据类型 1、C语言的基本数据类型 三种:int类型、 float类型、 char类型。 int允许使用的三个限定词:short、long、unsigned float的三种形式:float、 double、 long double char:存储空间为一个字符。 2、C语言的指针类型 在C语言中允许直接对存放变量的地址进行操作。 存放地址的变量为指针变量。 C语言程序是由函数组成的,指针的一个重要作用是在函数间传递数值。 1.3 C语言的数据类型 3、C语言的数组类型 数组是同一类型的一组有序数据的集合。 数组名标识了这一组数,数组元素下标指示了数组元素在该数组中的顺序位置。 1.3 C语言的数据类型 4、C语言的字符串 一般用字符数组来存储字符串。 5、C语言的结构类型 结构体由一组称为结构体成员的项组成,每个结构体成员都有自己的标识符。 6、C语言的共同体类型 共同体是把不同的成员项组织为一个整体,它们在内存中共用一段存储单元,但不同的成员项以不同的方式被解释。 7、C语言的枚举类型 该类型是指这种类型变量的取值只能在指定的若干个值之一。 8、C语言的定义类型 1.4用C语言描述算法的注意事项 由于C语言是一种高效、灵活、实用、精练的高级程序设计语言,用它编写程序有许多优点,但用它写算法会带来一些语法规范上不严密的缺陷,所以用C语言来描述算法具体应注意以下事项: 1、避免可能出现二义性的表达式。 会产生阅读困难,结果也可能不同。 2、避免使用转向语句。 Goto语句一般在语法描述中不使用,它会带来结构上的层次不清;在switch语句中,每个case语句后应有break语句。 3、避免使用预处理。 因它的许多情况比较难于把握。 4、避免函数
文档评论(0)