0第十三章 软基DY.doc

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

第十三章 软件技术基础 数据结构 13.1.1基本概念 数据结构是讨论计算机系统中数据的组织形式及其相互关系的一门科学。 程序=算法+数据结构 主要内容 为了能够用计算机解决复杂的问题,就必须研究数据的逻辑联系和在计算机内的表达、存储的模型。它包括: 数据元素间的逻辑关系是什么? 适宜采用什么样的存储结构? 有哪些基本运算?怎样实现? 也就是数据结构的三个层次:数据的逻辑结构、存储结构、基本运算的集合。 职工档案表 姓名 性别 出生年月 部门 职称 工资 婚否 奖惩 胡一民 男 01/10/67 技术科 工程师 165.50 .T. memo 李 静 女 03/12/78 生产科 助 工 130.00 .F. memo 张冬梅 女 04/12/64 生产科 高 工 155.50 .T. memo 李清明 男 11/25/72 技术科 工程师 165.00 .T. Memo …… …… …… …… …… …… …… …… 这张档案表可称为一个数据结构,它是一个线性表结构,表中的每一行为一个数据元素(它是数据结构的基本单位),它由姓名、性别、……奖惩等数据项组成。 表中数据元素的逻辑关系是:对表中任一元素,与它相邻且在它前面的数据元素(也称为直接前趋)最多只有一个,与它相邻且在它后面的数据元素(也称为直接后继)也最多只有一个。表中第一个元素没有直接前趋,故称为开始数据元素,最后一个数据元素没有直接后继,故称为终点元素。(例:……) 该表的存储方式:表中的数据元素是顺序地邻接在一片连续的单元中。 基本运算包括对表元素怎样进行查找、删除、插入等操作。 有关概念 1、数据结构:是讨论计算机系统中数据的组织形式及相互关系。 2、算法:是指解决某一问题的步骤的描述。 3. 数据结构的具体内容 (1) 数据元素逻辑关系(逻辑结构),分为两大类: 线性结构: 逻辑特征:有且仅有一个开始元素和一个终点元素; 所有数据元素最多只有一个直接前趋和一个后继。线性表就是一个典型的线性结构。 非线性结构: 逻辑特征:该结构中一个数据元素可能有多个直接前趋或直接后继。如图结构、树结构。 (2) 数据元素在计算机中的存储方法(即数据的存储结构,也称物理结构),分四类: ①顺序存储方法 把逻辑上相邻的数据元素存储在物理位置上相邻的存储单元里,元素间的逻辑关系由存储单元的邻接关系体现。主要应用于线性的数据结构,如线性表、数组等。有一些非线性数据结构也可以实现顺序存储。 ②链接存储方法 并不要求逻辑上相邻的元素在物理位置上也相邻,元素的逻辑关系是由附加的指针字段表示。它要借助于程序语言的指针类型来描述元素的存储地址,每个数据元素所占存储单元分成两部分:元素数据项和指针项(指出其后继或前趋元素的存储地址,从而形成一个链)。 ③索引存储方法 在存储元素信息的同时,还建立附加的索引项,索引项的一般形式是:关键字、地址。关键字是能唯一标识一个元素的数据项,而地址则指示存储位置。 ④散列存储方法(地址转移法) 根据元素的关键字,通过某一散列函数直接计算出该元素的存储地址。 同一种逻辑结构采用不同的存储方法,可得到不同的存储结构。 例如:线性表是一种逻辑结构,采用数组存储为顺序表;若采用链接方法的存储为链表;若采用散列方法的存储为散列表。 数据处理与运算 对一个数据结构,一般有如下的一些基本运算: ①遍历:在数据结构里的各元素间移动,或查看所有 的数据元素。 ②插入:往数据结构中添加新元素。 ③更新:修改数据元素的的数据项(又称为字段)的值。 ④删除:把指定的数据元素从数据结构中去掉。 ⑤查找:在数据结构中查找满足一定条件的数据元素。 ⑥排序:在保持数据元素个数不变的前提下,将数据元素按指定顺序重新排列(一般针对线性逻辑结构)。 由于数据运算是数据结构不可分割的部分,对于同一个数据结构,同一个基本运算,当选择的存储结构不同时,其运算的实现也完全不同,例如,对一个线性表结构,同样进行插入操作,采用顺序存储时的算法就与采用链式存储时完全不同。 ⒉ 与数据结构相关的算法 是由若干条指令组成的有穷序列,须满足准则: ①有穷性:一个算法在执行有限步之后必须停止。 ②确定性:一个算法所给出的每一步须精确定义。 ③可行性:算法中要执行的每一步都可在有限时间内完成。 ④输入:零个或多个输入信息。 ⑤输出:一个算法一般有一个或多个输出信息,它是算法对输入信息的运算结果。 算法用自然语言、数学语言或约定的符号语言来描述。 程序=数据结构+算法 算法评价,在保证算法的正确性基础上,还要考虑: 执行算法所用的时间(时间复杂度)。 执行算法所用的存储空间(空间复杂度)。 算法应易于理解、移植、调试。 常用评价指标是时间复杂度。它随问题规模变化,是

文档评论(0)

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

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

1亿VIP精品文档

相关文档