- 1、本文档共174页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 基本数据结构及其运算 第二章 基本数据结构及其运算 2.1 数据结构的基本概念 2.2 线性表及其顺序存储结构 2.3 线性链表及其运算 2.4 树与二叉树 2.1 数据结构的基本概念 2.1.1 两个例子 2.1.2 什么是数据结构 2.1.3 数据结构的图形表示 2.1.4 线性数据结构与非线性数据结构 数据结构三个方面的问题: (1)数据的逻辑结构 (2)数据的存储结构 (3)对各种数据结构进行的运算 目的:提高数据处理的效率 提高数据处理的速度 尽量节省计算机存储空间 2.1.1 两个例子 计算机已广泛应用于数据处理。实际问题中的各数据元素之间总是相互关联的。 所谓数据处理,是指对数据集合中的各元素以各种方式进行运算,包括插入、删除、查找、更改等运算,以包括对数据元素进行分析。 重要的是知道数据集合中各数据元素之间存在什么关系,为了提高处理效率,应如何组织它们,即如何表示所需要处理的数据元素。 例2.1 无序表的顺序查找 35 16 78 85 43 29 33 21 54 46 有序表的对分查找 16 21 29 33 35 43 46 54 78 85 数据元素在表中的排列顺序对查找效率是有很大影响 无序表的顺序查找 从第一个元素开始,逐个将表中的元素与被查数进行比较,直到表中的某个元素与被查数相等(即查找成功)或者表中所有元素都与被查数进行了比较且都不相等(即查找失败)为止。 最少次数:被查元素刚好是表中第一个元素时。只需比较一次。 最多次数:被查元素刚好是表中最后一个元素时或表中不存在被查元素。在这种情况下顺序查找是很费时间的。 有序表中的二分查找 将被查数与表中的中间这个元素进行比较:若相等,则表示查找成功,查找过程结束;若被查数大于表中的中间这个元素,则表示如果被查数在表中,只能在表的后半部,此时可以舍弃表中的前半部保留后半部;若被查数小于表中的中间元素,则表示如果被查数在表中,只能在表的前半部此时可以舍弃后半部而保留前半部。然后对剩下部分再按照上述方法进行查找,这个过程一直做到在某次的比较中相等(查找成功)或剩下的部分已空(查找失败)为止。 在有序表的对分查找中,不论查找的是什么数,也不论要查找的数在表中有没有,都不需要与表中所有元素进行比较,并且只需要与表中很少的元素进行比较。但需要指出的是,对分查找只适用于有序表,而对于无序表是无法进行对分查找的。 结论: 在对数据进行处理时, 可以根据所做的运算不同, 将数据组织成不同的形式, 以便于做该种运算, 从而提高数据处理的效率。 2.1.2 什么是数据结构 数据结构(data structure)是指相互有关联的数据元素集合。 数据元素(data element)是数据集合中的一个个体,是数据的基本单位。 例1:描述一年四季的季节名 春,夏,秋,冬 可以作为季节的数据元素; 例2:数值集合N={1,2,3,4,5}中整数1至5均为数据元素。 例3:表示家庭成员的各成员名 父亲,儿子,女儿 可以作为家庭成员的数据元素。 前后件关系是数据元素之间的一个基本关系,但前后件关系所表示的实际意义是随具体对象的不同而不同。 一般来说,数据元素之间的任何关系都可以用前后件关系来描述。 例如:“春” 是“夏”的前件,“夏”是“春”的后件。 “父亲”是“儿子”,“女儿”的前件, “儿子”,“女儿”是“父亲”的后续。 1.数据的逻辑结构 是指反映数据元素之间逻辑关系的数据结构。 研究数据元素及其关系的数学特性; (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据的逻辑结构有两个要素: 数据元素的集合D; 反映D中各数据元素之间的前后件关系R。 数据结构可以表示成 S=(D,R) 其中B表示数据结构。 为了反映D中各数据元素之间的前后件关系,一般用二元组来表示。 设a与b是D中的两个数据,则二元组 (a,b) 表示a是b的前件,b是a的后件。 例如 S=(D,R) D={春,夏,秋,冬} R={(春,夏),(夏,秋),(秋,冬)} 家庭成员数据结构 S=(D,R) D={父亲,儿子,女儿} R={(父亲,儿子),(父亲,女儿)} n维向量 X=(x1,x2,…,xn) 也是一种数据结构。即 S=(D,R) D={x1,x2,…,xn} R={(x1,x2),(x2,x3),
文档评论(0)