数据结构的基本概念.ppt

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

前言 数据结构是计算机系的专业基础课,它不但是计算机学科的理论基础之一,也是软件开发的必备基础。因此,无论是从事计算机行业,还是希望在计算机方面继续深造,都应该学好这门课程。 第1章 数据结构的基本概念 抽象数据类型和算法描述 抽象和实现 术语和概念 抽象数据类型 算法与伪码 程序结构化与设计风格 程序分析的方法 时间复杂性分析 渐进式表示法 递归式的复杂性计算 1.1 抽象和实现 什么是抽象和实现? 抽象是信息隐蔽的方法,用这种方法将数据表示或处理过程中的细节对不需要(或不想)了解的人隐藏起来。 实现是已屏蔽掉的繁琐的细节。 1.1.1数和变量 平时使用的数据类型中哪些是抽象出来的? 整型、实型、字符型、枚举型等。 抽象出来的数据类型是怎样实现处理过程的? 各种计算机语言的编译程序有它们各自所抽象出来的数据类型与计算机自身的数值进制有相应的转换规则,也能够对其进行存储和计算。 变量是抽象的吗?其作用是什么? 变量是一种抽象。它的作用是减少程序设计人员对内存细节的考虑,而将主要精力用于程序算法的编写。 1.1.2两维数组 计算机存储是按一维方式还是二维方式? 计算机存储区是按字节或字的一维或线性序列方式进行编址。 计算机是如何解释带有二维数组的语句的? 通过编译程序。 二维数组的应用 矩阵 1.1.3过程和抽象 过程是什么? 过程是程序设计的基本工具和方法,它将操作符和操作对象的概念一般化,使程序员不受程序设计语言提供的基本数据类型和操作符的约束,可以利用过程自由地定义操作数和操作方法。 过程的优点 利用过程的优点在于信息的隐蔽和模块化,它实现了对算法的若干部分的封装。 抽象都是程序设计语言提供的吗? 过程是一种抽象吗? 1.2 术语和概念 1.2.1数据、数据元素和数据对象 数据就是指所有能被输入到计算机中,且被计算机处理的符号的集合,它也是计算机操作的对象的总称。是计算机处理的信息的某种特定的符号表示形式。 注意:数据的范围是随着计算机的发展而不断扩大的。 数据元素是数据中的一个个体,是数据结构中讨论的基本单位。一个数据元素还可以由若干个数据项组成。数据项是具有独立含义的最小标识单位。如整数这个集合中,10这个数就可称是一个数据元素.又比如在一个数据库表(关系式数据库)中,一个记录可称为一条数据,每一个字段可称为一个数据元素,而每个字段的组成部分可称为一个数据项(例如出生日期中的年、月、日)。 数据对象是性质相同的数据元素的集合,是数据的一个子集。 1.2.2 数据类型 在用高级语言编写的程序中,必须对程序中出现的每个变量、常量和表达式,明确说明它们所属的数据类型。 数据类型是程序设计语言中对于给定变量的所有可能取值的集合。 数据类型是一个值的集合和定义在此集合上的一组操作的总称。 每一个对象仅由单值构成的类型称为标量类型或原子类型。每一个对象可由一组值构成的类型称为组合类型或结构类型(有时也称为数据结构) 1.2.3 抽象数据类型 抽象数据类型(abstract data type简称ADT)是一种数据类型及在这个类型上定义的一组合法的操作。 程序设计语言提供的ADT定义工具 Ada提供包、c++提供类 使用ADT的作用 减少程序的复杂性 1.2.4 数据结构 (带结构的数据元素的集合) 定义: 数据结构是以某种方式联系在一起的数据元素的集合。 数据结构研究的内容 数据结构研究的是数据元素之间抽象化的相互关系及这种关系在计算机中的存储表示,对每种结构定义各自的运算,设计出相应的算法,并用某种语言实现该算法。 数据结构包含的内容: 逻辑结构和物理结构,甚至包括对数据的操作。 数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要建立起来的,呈现在用户面前的结构形式。数据的物理结构又称为数据的存储结构,是指数据在计算机内的表示方法,即存储形式。 比如一个表(数据库),我们就称它为一个数据结构,它由很多记录(数据元素)组成,每个元素又包括很多字段(数据项)组成。那么这张表的逻辑结构是怎么样的呢? 对于这个表中的任一个记录(结点),它只有一个直接前趋,只有一个直接后继(前趋后继就是前相邻后相邻的意思),整个表只有一个开始结点和一个终端结点,那我们知道了这些关系就能明白这个表的逻辑结构了。 常见的逻辑结构有:线性结构、树形结构、图状结构和集合结构。 存储结构是逻辑结构在存储器中的映像。 数据元素的映像方法: 用二进制位(bit)的位串表示数据元素。 (320)10=(501)8=(101000001)2 (A)=(101)8=(001000001)2 关系的映像方法(表示X,Y的方法) 顺序映像:以存储位置的相邻表示后继关系。 Y的存储位置和X的存储位置之间相差一个常量C,而C

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档