- 1、本文档共75页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构C语言版课件
特点: 每个学生的信息占据一行,所有学生的信息按学号顺序依次排列构成一张表格; 表中每个学生的信息依据学号的大小存在着一种前后关系,这就是我们所说的线性结构; 对它的操作通常是插入某个学生的信息,删除某个学生的信息,更新某个学生的信息,按条件检索某个学生的信息等等。 应用举例2——输出n个对象的全排列 输出n个对象的全排列可以使用下图1-1所示的形式描述。 特点: 在求解过程中,所处理的数据之间具有层次关系,这是我们所说的树形结构; 对它的操作有:建立树形结构,输出最低层结点内容等等。 应用举例3——制定教学计划 在制定教学计划时,需要考虑各门课程的开设顺序。有些课程需要先导课程,有些课程则不需要,而有些课程又是其他课程的先导课程。比如,计算机专业课程的开设情况如下表1-2所示: 课程先后关系的图形描形式: 特点 课程之间的先后关系用图结构描述; 通过实施创建图结构,按要求将图结构中的顶点进行线性排序。 结论 计算机的操作对象的关系更加复杂,操作形式不再是单纯的数值计算,而更多地是对这些具有一定关系的数据进行组织管理,我们将此称为非数值性处理。要使计算机能够更有效地进行这些非数值性处理,就必须弄清楚这些操作对象的特点,在计算机中的表示方式以及各个操作的具体实现手段。这些就是《数据结构》这门课程研究的主要内容。 分别如何表示数据元素和关系。 计算机中处理信息的最小单位是一个二进制的“位”,任何数值和字符都可以用二进制位串表示,因此所有数据元素都可以用这样的位串来表示。 当数据元素包括多个数据项时,每个数据项就是一个子位串。 因为关系是有序对的集合,因此关系的表示就落实到有序对的表示即可。也就是说如何来表示“y是x的后继”? 有两种表示方法。 顺序映象:以相互之间确定的存储位置来表示。在约定的 C 值下,y 的存储位置随 x 而定。 用指针表示后继关系,x 和指针构成一个完整的信息。前者 y 的存储位置是被动确定的,而在此 y 的存储位置是主动的,而指针随 y的确定而确定。 以上是从最低层的数据元素的存储位置来解释存储结构。由于数据结构是在高级语言的层次上来讨论问题,因此也要借用高级语言来描述存储结构。 因为以为数组的实现和顺序映象一致,因此通常用一维数组描述次序关系。 而指针即地址,和语言中的指针概念一致。 学习过高级语言之后,大家对数据类型的概念都不陌生,相信大家在调试程序中经常还碰到“变量没有说明”的编译出错的信息提示。通过它,编译系统可以帮助你检查出程序中的某些错误。 类型说明的作用是,对“变量”加上两个约束条件:一是变量可取值的范围,二是变量可作的操作。 几乎所有的语言对“整数”的实现都是根据同样的数学定义,即在不同语言中整数可作的操作都是相同的,其值的范围基本上是取决于机器的字长,因此对程序员来说,使用整数类型时只需要了解它的数学特性即可,而和语言无关。 换句话说,整数本身是一个抽象数据类型,什么是整数?它是一个数据元素的序列,-max,...,-2,-1,0,1,2,... 例如,可将矩阵定义为一个抽象数据类型,它的数学模型就是线性代数中的定义,加上矩阵的一组操作。也可以将长整数定义为一个抽象数据类型,它的数学模型就是前面定义的数据结构,加上它的一组操作就是一个抽象数据类型。 但是所有的抽象数据类型的定义必须满足这样两个特性。 抽象数据类型必须给他的外部提供完整的“接口”,例如,明确长整数是三个整数的序列以及可以对它进行的操作等。 同时,对外部用户来说,不需要了解它是如何实现的,内部实现的改变不影响外部的使用,更重要的是,应该做到,不能让外部用户侵入内部。对外部用户来说,抽象数据类型应该完全是一个黑盒子。 由此,抽象数据类型可以在数据结构的二元组的基础上扩展维一个三元组。 可将复数定义为两个实数的有序对。也就是说,用两个实数来表示复数,那么前面那个一定是实部,后面那个是虚部。 这里给出的是复数操作的最小集合,对外部用户来说,构造一个复数和从复数分别取得它们的实部和虚部是最基本的操作,没有这三个操作,这个抽象数据类型是没有实用价值的,其它操作的多少可根据应用需求而定。 有了这个复数的抽象数据类型,便可完成这个复数的运算。 在定义中必须给出除法的合理接口。 由于数据结构是和它的操作分不开的,因此以后我们对数据结构的定义均包括它的操作,也就是说定义为一个抽象数据类型的定义。 抽象数据类型的实现包括数据结构的实现和操作的实现,因此不仅要借用高级语言中的数据类型来描述它的存储结构,也要利用高级语言中已经实现的操作来实现抽象数据类型的操作。
您可能关注的文档
- 影响雾化器工作效率的几个因素_陈世柱.pdf
- 很详细的SUNClusterforOracle(裸设备)文档FZPU机房双机改造文档.doc
- 微件开发与应用.ppt
- 微创和开放椎间融合治疗单节段腰椎间盘突出症.pdf
- 微型伺服驱动器开关电源设计.pdf
- 微创人工全髋关节置换术与传统置换术临床疗效的Meta分析.pdf
- 微博数据挖掘研究综述.pdf
- 微库(WECOOL)操作使用方法.ppt
- 微带线研究.pdf
- 微波多层电路过孔散射参数测量方法.pdf
- 三年级语文上册 第五单元 交流平台 初试身手教学实录 新人教版.docx
- Module 9 Unit2.I want to go to Shanghai.(教学设计)-六年级英语上册同步精品课堂(外研版三起).docx
- 第一章 整式的乘除 教学设计2024-2025学年北师大版数学七年级下册.docx
- 辽宁省葫芦岛市2024-2025学年高一上学期1月期末考试英语试卷 含解析.docx
- 2025年药疹_原创精品文档.pptx
- 2025年荨麻疹urticaria_原创精品文档.pptx
- 2025年良性前列腺增生症.pptx
- 2025年色素沉着绒毛结节性滑膜炎.pptx
- 2土壤(教学设计)2024-2025学年二年级上册科学教科版.docx
- Unit 5 What does he do (教学设计)六年级英语上册同步备课系列(人教PEP版).docx
文档评论(0)