- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CAD中数据组织 Wei Chen 2009.11 数据结构 CAD/CAM系统是根据程序对设计和制造信息进行分析、处理和传递的过程。不管是进行分析计算,还是对各种儿何形体的描述和运算.除了耍研究处理它们的算法外,还要分析被处理对象的数据及各数据之间的相互关系——数据结构。 程序=算法十数据结构。 要研究和确定其数据结构,它不仅关系到程序设计和程序运行的效率,而且还与程序的存储空间密切相关。 为了有效地存读取、传递和管理这些数据,就需要一个满足CAD/CAM系统要求的工程数据库系统。所以,对于从事CAD/CAM的技术人员,必须具备数据结构和数据库技术的基本知识。 数据结构 1.数据 数据(data)是用于描述客观事物的信息,包括数值、字符或其他各种符号,它们可以输人到计算机,并由计算机程序加以识别和处理。对计算机而言,数据的含义极广泛,如数字、字符、图形、色彩、声音等都是数据.计算机程序在运行时将对这些数据进行各种操作,如访问、加工、删除等。 2.数据元素 数据元素(data element)是数据中抽象的基本单元,它可由一个或多个数据项(data item)组成。数据项是数据石可分割的最小单位。如表1为一张材料密度的记录表,该表中每一种材料名称及其密度值均作为一个数据项,表中每一行作为一个数据元素(即一个数据对),由两个数据项(材料名称和材料密度)组成。 表1 材料的密度 数据结构 3.数据结构 数据结构(data structure)是指数据之间的结构关系。数据结构研究的是数据元素之间的抽象关系,而不论及数据元素的具体内容。从集合论的观点来看,数据结构是一个二元组,即Data_structure=(D,R),其中,D是一个数据元素的非空有限集合,R是有限个数据元家间关系的集合。 数据结构包括数据的逻辑结构和数据的物理结构。 1) 数据的逻辑结构 它是描述数据之间的逻辑关系,常见的数据逻辑结构有线性表、 数据结构 数据的物理结构 它义称为数据的存储结构.是描述数据在计算机存储介质上的表示方法及相互关系。同一种逻辑结构的数据在存储介质上可用不同的存储方式存储,即存储结构可能个相同。常见的数据物理结构有顺序存储结构和链式存储结构。 线性表 线性表(Linea list)是一个由”n“(no)个相同类型的数据元素a1,a2,a3….an有限序列。表中的每—个数据元素,除第一个外,都仅有一个直接前趋时,除最后一个外,都仅有一个直接后继(successor);n为o时,称为空表。线性结构的类型很多,如栈、队等都属于线性表 一) 线性表的逻辑结构 线性表的逻辑结构可以表示为: 线性表也可用图形描述,如图所示 数据结构 二)线性表的物理结构 线性表的物理结构有顺序存储结构和链式存储结构两种。 1.顺序存储结构 线性表的顺序存储结构,就是在存储介质上用一组连续的存储单元 按照线性表中的数据元素之间的逻辑结构顺序依次存放表中全部数据元素。 图2为1年12个月组成的线性表的顺序存储结构图。该结构分为两部分:标题和数据。在标题中存放表的标志,名称,第一个数据元素的地址,表的上、下限和数据元素的类型及每个元素的长度。数据部分,从第一个数据元素的地址开始,按照表内各数据元素之间的逻辑结构顺序和每个数据的长度依次存放。假设每一个字符需要一个存储单元,每个数据需要的存储字节数为L(这里L=3),则根据线性表的顺序特点,可计算出第i个元素的存储地址.即 数据结构 数据结构 线性表的顺序存储结构、可以实现存储、渎取、修改、挤入和删除等运算。 线性表的顺序存储结构具有如下特点。 1)有序性。在存储介质上,答数据元素之间的存储顺序与其逻辑结构的顺序是一致的。 2)均勺性。由于每个数据元素的类型相同,所以每个数据元素需要的存储单元是相同的。 3)这种存储的结构简单,易于实现,便于随机件取。但删除和挤入操作较费时(除了在表的最后位置插入新元素或者删除表中最后一个元素外,在其他位置进行插入和删除操作都需要移动表中各元素的位置),存储空目的利用率不高(因存储空间必须预先按最大需求予以分配),另外表的容量在程序运行期间也难以扩充(因程序语言一般不允许动态定义数组的大小)。所以,顺序存储结构一般适用于表不大,且插入、删除操作不频繁的情况。 数据结构 2.链式存储结构 线性表的另一种存储结构是链式存储结构,这种结构不要求逻辑上相邻的元素在物理位置上也相邻,它依靠指针将若干结点顺序连接在一起。在链式存储结构中,改变结点的逻辑关系时v只要改变相应指针的指向即可,从而减少厂因移动元素而花费的时间,另外,存储空间可动态分配,
文档评论(0)