- 1、本文档共323页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 的讲义
第一章 绪论
早期计算机主要应用于科技计算,其特点是数据类型简单,算法复杂,所以,侧重于建立程序,称之为数值计算。随着计算机以惊人速度的普及,其应用早已深入到人类社会的各个领域,早以从单纯的科技计算发展到更多地应用到控制管理和数据处理等非数值计算的工作中,其处理对象不仅可以是数值,还可以是字符、表格、声音、图像等各种信息。非数值计算的数据十分广泛,而且通常有一定的结构,要对数据进行组织,不仅要研究处理对象的特性,还需要研究它们之间存在的关系,这就是《数据结构》形成和发展的背景。
1.1《数据结构》研究什么
数据结构是研究非数值计算的程序设计中,客观实体对象的描述、信息的组织方法和相应操作的实现的学科。
非数值计算的特点是,数据类型复杂,而且数据量十分庞大。要对非数值计算设计出好的处理程序就必须解决好三方面的问题,即:
1、要对所加工的对象进行逻辑组织。这包括两方面的内容:(1)、确定作为整体进行考虑和处理的数据单位,我们称之为数据元素,它包括哪些数据项?它们是什么类型?项与项之间存在着什么关系?(2)、数据元素之间存在什么关系?例如,它们之间可能是线性关系或非线性关系(树形关系还是网状关系?);
2、如何把加工对象存储到计算机中去?这个问题称为数据的物理结构或存储结构。当我们选好了待处理问题的数据元素及它们之间的关系之后,就要把它们存储到计算机中去,以便用计算机进行处理。所以就有一个物理组织的问题。既要存储数据元素(存储了的数据元素又称结点),又要存储元素间的关系,其原则是要尽可能地兼顾节省存储和便于处理,即不仅便于算法的实现,还要尽可能使算法在空间和时间上都比较节省。由于我们所讨论的处理是在高级语言的层次上进行的,所以,我们所采用的存储结构是通过高级语言的数据类型来实现的。本书以C语言作为处理语言来讨论。
3、数据运算。数据运算是指定义在数据的逻辑结构上的一组操作。要对这些操作设计出相应的算法。“算法+数据结构=程序设计”是瑞士计算机学者Niklaus Wirthrn 所著的一本书名,它一直是为计算机工作者所公认的一句名言。当我们选好了数据的逻辑结构和物理结构之后,如果没有行之有效的算法,则不能对数据进行操作,实际问题得不到解决,反之,因为算法是作用于数据结构之上的,所以,没有数据结构,算法也就无用武之地了。数据运算的定义依赖于数据的逻辑结构,而运算的实现依赖于存储结构和所使用的程序设计语言。
我们举一个简单的例子作示意性说明。
例、设有一个电话号码薄,有N个人的姓名和电话号码。要求设计一个程序,按人名查找号码,若不存在则给出不存在的信息。
1、逻辑结构的选取:
首先,选取作为整体进行处理的数据单位,即选取数据元素。很显然,人名和他的电话号码必须一一对应,必须作为一个整体来处理,所以应取作数据元素;
其次,结点关系的选取。电话号码薄,实际上是一种表格,结点间的关系是一个顺序关系,但究竟是什么顺序呢?这个关系的选取,有时是客观存在的关系,有时是人为强加的关系,其目的是为处理的方便。例如,假定号码薄中的人员是一个大学中的教职工,根据号码薄中人员的情况,可以有不同的排列顺序:或按工作单位排列,或按住址排列,或按姓名升序排列,甚至按任意的顺序(即输入顺序)排列,总之,结点间关系不同,就意味着逻辑结构不同,因而相应的算法也会不同。
2、物理结构的选取;
这是指按什么顺序把数据存入计算机。存入计算机的顺序称为物理顺序。例如,我们选取的逻辑顺序是按人名升序排列的,其物理结构就可以有两种不同的选择:一种是逻辑顺序和物理顺序一致;另一种是逻辑顺序和物理顺序不一致。如果一致,则存储顺序本身就代表了逻辑顺序,因此,不必另存结点间的逻辑关系了,这种存储结构称为顺序存储;如果二者不同,则还要另外存储结点间的逻辑顺序。假定我们用name1,name2,name3,……,代表人名的升序,并按这一顺序把结点存放在一维数组中,如图1.1(a)所示,由数组下标表示的物理顺序和逻辑顺序完全一致;如果结点的存放顺序是按任意的顺序存储,则其物理顺序和逻辑顺序不一致,而我们对数据的处理往往要依赖于逻辑顺序,因而,除了存储结点本身之外,还要存储结点间的关系,如图1.1 (b)中,每个结点中有一个被称为指针的数据项,它指出结点的按逻辑顺序的后继结点的地址,这种存储结构称为链接存储。如果每个结点中只有一个指向后继结点的指针,这种存储方式又称为单链表,它有一个称为链头的指针,指向按逻辑顺序的第一个结点的地址。例如,在图1.1 (b)中,head=3,表示下标(即相对地址)为3的结点是逻辑上的第一个结点,它的指针项的值为4,表示下标为4的结点逻辑上排在第二,……。
3、算法设计。选好了逻辑结构和存储结构,就可以设计算法了。存储结构不同,算法也不同,例如,按图1.1(a)的方式
您可能关注的文档
- 数字城管建设的项目建议书.doc
- 数字媒体技术专业数字印刷媒体课程的设计指导书.doc
- 数字式秒表文档的资料.doc
- 数字式调频收音机的设计的资料.doc
- 数字推理题的解题的技巧大全.doc
- 数字电子技术基础2011.4.13 第二章习题的答案.docx
- 数字化油气田监控系统技术的方案基于物联网技术平台.docx
- 数字化技术的项目综合训练指导书.docx
- 数字电子技术基础数字电路习题的答案.doc
- 数字电子技术基础第4章 作业的答案.ppt
- DeepSeek培训课件入门宝典:第2册 开发实战篇 .pptx
- 全面认识全过程人民民主-2024春形势与政策课件.pptx
- 2024春形势与政策-全面认识全过程人民民主.pptx
- 2025年春季学期形势与政策第二讲-中国经济行稳致远讲稿.docx
- 2024春形势与政策-铸牢中华民族共同体意识课件.pdf
- 2024春形势与政策-走好新时代科技自立自强之路课件 (2).pptx
- 2024春形势与政策-走好新时代科技自立自强之路课件.pptx
- 形势与政策学习指导教学-整套课件.pdf
- 2023年春季形势与政策讲稿第三讲-开创高质量发展新局面.pdf
- DeepSeek培训课件-清华大学-DeepSeek模型本地部署与应用构建.pptx
最近下载
- 武汉市2025届高中毕业生二月调研考试(二调)数学试卷(含答案详解).pdf
- 2024年广东省佛山市南海区初中毕业生适应性学业检测(一)英语试题(PDF版有答案).pdf
- 《汤姆索亚历险记》完整版课件.ppt
- 装修主材代购合同2024年通用.docx VIP
- 博世电控高压共轨系统原理与应用.pdf
- AspenPlus模拟煤气化合成氨.pdf
- 二年级下册数学人教版《千以内数的认识》课件(共28张PPT).pptx VIP
- 一例小腿内侧外伤伤口感染的个案护理.pptx VIP
- 《AI公文写作范例大全:格式、要点与技巧》课件 第7、8章 运用AI润色公文、 法定类公文的写作.pptx
- 脑梗死的诊疗规范标准 .doc VIP
文档评论(0)