欢迎来到天天文库
浏览记录
ID:51886435
大小:1.04 MB
页数:42页
时间:2020-03-18
《CAD(CAM)软件开发基础.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第三章CAD/CAM软件开发基础问题的提出:•什么是数据的逻辑结构和物理结构?•线性表的顺序存储结构和链接存储结构各有什么特点?•树和二叉树的概念,一般树如何转换为二叉树?如何对二叉树进行遍历?•对文件进行排序和查找的常用算法有哪些?§3.1数据结构一、数据结构与数据元素在进行CAD、CG程序设计时,不管是数值计算、还是对几何形体的描述与处理,除了研究程序的算法外,还要研究被处理对象的数据和数据之间的相互关系——数据结构。如:数据结构是研究描述一个客观事物所需要的数据元素和它们之间相互关系的一门学科。数据结构不仅直接关系到程序设计的算法和运行效率,而且与程序的存贮空间密切相关。
2、在数据处理中,首先应将现实世界转化为信息世界,然后将信息世界转化为数据世界。二、数据的逻辑结构和物理结构1.数据的逻辑结构:描述的是数据Z间的逻辑关系,它从客观的角度组织和表达数据。它独立于数据的存储介质。(1)线性结构每一个数据元素仅与它前面的一个和后面的一个数据元素相联系,因而仅能用于表达数据之间的简单的顺序关系。线性结构是最简单的结构,它所表示的关系是一对一的。(2)非线性结构常以树状或网状的结构形式出现。在树形结构中,只有唯一的一个结点没有前驱,称为“树根”,其余都有口仅有一个前驱。它反映的关系是“一对多”的。网状结构,结点的前驱和后继的个数不受限制,它反映的关系是“多
3、对多”的。显然可以把树看成是网状的特例。如下图所示。树的逻辑结构工艺H債方秦图a)二维几何图形Gb)儿何图形G数据结私2・数据的物理结构:是数据在计算机内部的存储方式,是数据的逻辑结III构在计算机中的映象。它包括数据元素的映象和关系的映象。数据的物理结构用以描述数据在存储器中如何表示和如何安排。计算机的内存储器是由很多的存储单元组成的,它们有唯一的连续的地址编码,川以标识存储单元。设2个单元分别为Zl,Z2,它们的地址记为dZl,dZ2,若dZ2=dZl+1,就称Z2是相继的单元”。一片相继的存储单元的整体称为1个“存储区域”。1)顺序存储是指存储的物理顺序就是结构的逻辑顺序
4、,显然这样的存储方式只能用于简单的线性结构。顺序存储结构占用存储单元少,简单易行,结构紧凑。但数据结构缺乏柔性,若要增删数据,必须重新分配存储单元,因而不适合需要频繁修改、补充、删除数据的场合。2)链接存储即把数据的地址分散存放在其他有关的数据中,并按照存取路径进行链接。在链接存储结构中,一个数据元素项由信息字段(INFO)和指针字段(POINT)组成:信息字段指针字段链接存储有以下几种形式:RlI~~Oil~~*R3HMI_HR5I链接存储结构在不改变原来存储结构的条件下,增删记录十分方便,只要控制指针即可。如:一个线性表可采用顺序方式存储,也可以采用非顺序方式(如釆用链表方
5、式)来存储。000000010010三、图形数据的基本要求图形系统设计中,常用的数据结构有:线性表、数组、栈、队、链表、树和图等,同一物体可以采用几种数据结构来描述,但对任何一种数据结构都应具备如下基本要求:%1能够描述物体或图形的几何信息和拓扑信息;即能描述几何元素的几何量和各几何量之间的相互关系;%1便于对物体和图形进行各种操作;如各种插入、变换或删除其中的某些几何元素;%1需要有较小的存贮空间;%1便于检索,即能快速查询到所需要的几何元素。§3.2线性表结构线性表是一个有序的数据元素的有限集合,其逻辑结构可表示为:(对n个数据元素的线性表)(aba2?…,ak-bak?a
6、k+b•••an)用图形表示为:特点:在线性表中,除第一元素只有一个直接后趋,最后一个元素只有一个直接前趋外,其余元素均有一个直接前趋和直接后趋。其中每个数据元素族可以是一个数、一个符号、还可以是一个线性表,甚至更为复杂的数据结构。如:一年中12个月可构成一线性表(Jan、Feb、Mar>);齿轮的标准模数可构造一个线性表:(1,1.25,1.5,2,2.50,3,4,……50)又如:由减速箱零件清单可构成一线性表,表中的数据元素是由四个数据项组成的一个复杂的数据结构。序号名称数量材料1箱体1HT1002箱盖1HT1003齿轮轴345■■■■■■••线性表中的数据元素可能是各种
7、各样的结构,但同一线性表中数据结构的类型必须是相同的,线性表中数据元素的数量定义为线性表的长度。线性表的存储结构有:顺序存储结构和链式存储结构。一、线性表的顺序存储结构1、什么是线性表顺序存储结构在这种存储结构中,数据元素在存储介质中的存放地址和该元素的逻辑顺序之间存在着一一对应的关系O假定:每个数据元素占用/个存储单元,第一个数据元素占用的第一个存储单元地址为Loc(ai),则第K个数据元素的存储位置为:Loc(aK)=Loc(ai)+(k-1)X•••••Bi&2Qk•••••又如:对于
此文档下载收益归作者所有