- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 绪论铁锅里掺适量水烧开,放入秋葵,两根筷子架起放了鳕鱼和香料的盘子,转微火盖锅盖蒸。好香!10分钟内要回来,这之前发个说说:处处皆结构,处处皆算法!哦原来,锅里架构是数据结构,烹饪步骤是算法。入门即上路,本章引导上路。要求掌握数据结构和算法概念;理解算法分析方法。提纲1.1 数据结构1.2 算法概念1.3 算法分析1.4 绪论总结1.1 数据结构1.1.1 基本概念概念数据(Data):能够被计算机程序识别、存储、加工和处理的描述客观事物的符号集合的总称。数据是信息的载体,数据赋予含义成为信息。数据项(Data Item):又称为字段或域,是数据元素的组成部分,具有不可分割性和独立含义。数据元素(Data Element):又称为元素,是数据的基本单位,是一个数据整体的基本表示。数据对象(Data Object):又称为数据元素类,是性质相同的数据元素的集合。数据元素是数据对象的实例。数据结构(Data Structure):相互之间存在着一种或多种关系的数据元素的集合。抽象数据类型(Abstract Data Type,ADT):从数学模型角度抽象出来的逻辑数据结构以及其上的运算,不考虑具体存储结构和实现细节;它反映的是定义与实现相分离的设计哲学,包含数据对象、数据关系和基本运算。1.1.1 基本概念比如定义复数抽象数据类型Complex:ADT Complex {数据对象: D={ e1,e2 | e1,e2均为实数 }数据关系: R={e1,e2 | e1是复数的实部,e2 是复数的虚部 }基本运算: AssignComplex(z,v1,v2):构造复数Z。 GetReal(z,real):返回复数z的实部值。 GetImag(z,Imag):返回复数z的虚部值。 Add(z1,z2,sum):返回两个复数z1、z2的和。} ADT Complex1.1.1 基本概念举例地球是装人的容器,人是数据对象,张三是数据元素,人的某个属性如肤色是数据项,人与人之间存在的关系与人一道在地球上构成了数据结构,而地球上有人,人与人之间有直接或间接关系发生,就是抽象数据类型的表示。1.1.2 逻辑结构数据的逻辑结构分为集合、线性结构、树状结构、图形结构4类。集合具有相同性质元素构成集合。集合中元素的关系极为松散,关系为“属于同一个集合”。举例:这之前,我们都不认识,是数据结构这门课程让我们有缘走到了一起,来到这间教室学习。教室看作集合,教室里的人看作元素,有些同学一学期也不说话交流(没有关系),但他们归属于同一个教室。1.1.2 逻辑结构举例1:甲用暗号1联系乙,乙用暗号2联系丙,丙用暗号3联系丁。保密工作只能单线联系。甲乙丙丁这些元素之间的关系是单一的、一个对一个的。举例2:教室里坐了n个同学,按照学号顺序依次回答问题:什么是数据结构?n个学生数据元素这种依次关系,就是一对一的关系。线性结构数据元素之间是线性关系的数据结构。特点是元素之间为“一对一”关系。1.1.2 逻辑结构树状结构数据元素之间是层次关系的数据结构。特点是元素之间可以为“一对多”关系。举例1:旧楼房的楼梯间,有线电视同轴电缆从1楼到顶楼通过分支器连接和分户,使得家家有电视看。这种分支器输入为1个通道输出为n个通道,构成了一对多关系;层层分支整个线路构成了树状结构。举例2:单位的组织结构,是典型的层次树状结构!倒立的树状结构!1.1.2 逻辑结构举例:新同学找进校门找不到路,没有老同学在身边带没关系,打开手机校园地图,房屋线路一目了然吧;打开百度地图、高德地图看城市交通雷同。从宿舍到教室有多条路,从教室到食堂有多条路,从食堂回宿舍还是有很多条路啊!在这个例子中,体现了元素之间多对多的关系。图形结构数据元素之间的关系更复杂,可以包含一对一、一对多、多对一,多对多的关系。特点是元素之间可以为“多对多”关系。1.1.2 逻辑结构1.1.3 存储结构顺序存储结构顺序存储结构是在连续的存储单元中存放数据元素,元素的物理存储次序与逻辑次序一致,即物理位置相邻的元素在逻辑上也是相邻的。举例:大学英语四六级考试考场座位编号,是按照准考证号的顺序连续编号的。在这个例子中,相邻准考证号在物理座位上也是相邻的。1.1.3 存储结构链式存储结构链式存储结构使用地址分散的存储单元存放数据元素,即物理上相邻的数据元素逻辑上不一定相邻,数据元素之间的逻辑关系通常用指针表示,记录前驱和后继的存储地址。举例:大学教室里,同学们来上课可以随便坐,不一定学号相邻的同学坐在一起。当老师让学生按照学号从小到大举手/站立报号考勤时,这种乱坐现象并不影响考勤。在这个例子中,虽然学号连续,但是学生可以分散坐,体现了链式存储结构。1.1.3 存储结构索引存储结构索引存储结构时在存储数据元素的基础上增加
文档评论(0)