- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 8)兄弟:同一双亲的孩子间称为兄弟 9)树的深度或高度:树中结点的最大层次称为树的深度或高度 10) 森林:0个或多个不相交的树的集合称为森林 如下图所示树:结点A、B、C的度分别为2、3、1;结点D、F、G、H、I均为叶子结点;树的度为3;结点A是结点B、C的双亲;结点B、C是结点A的孩子;B、C是兄弟;根结点为第一层,共有4层,树的高度为4。若去掉结点A就成为森林。 * B F E C G I H D A 第1层 第2层 第4层 第3层 一般的树 * 3.树的存储结构 树结构为非线性结构,需采用多重链表存储,即每个结点除了数据域外,还需设有多个链域,分别指向该结点各孩子结点。 一般树的存储结构 A ︿ B ︿ C ︿ ︿ ︿ D ︿ ︿ E ︿ ︿ F ︿ ︿ ︿ G ︿ ︿ ︿ H ︿ ︿ ︿ I ︿ ︿ * 1.二叉树的概念: 二叉树是一种很重要的树结构。它的特点是每个结点下只有左右两棵子树,且左右子树不能颠倒,否则为另一棵二叉树。 二、 二叉树 * A A A B B B C A (a) (b) (c) (d) (e) 2.二叉树的分类 二叉树有五种基本形态,如图所示,其中(a)空二叉树,(b)只有一个根结点的二叉树,(c)右子树为空的二叉树,(d)左子树为空的二叉树,(e)左右子树均为非空的二叉树。 * 3.二叉树与一般树的区别在于: 1)一般树至少有一结点,而二叉树可以为空。 2)一般树的子树不区分左右,而二叉树有左右之分,且不能颠倒。 3)一般树的每一个结点可以有任意个子树,而二叉树每一个结点的子树不能超过2个。 * 4.二叉树的存储结构 如图所示为二叉树的逻辑结构和存储结构。二叉树的每个结点除了数据域info并设立两个链域Lchild、Rchild分别指向该结点的左子树和右子树的根结点。由于二叉树中的每个结点的构造均相同所以给存储和运算带来方便。 * A B F C E I G D H A B F ∧ D ∧ ∧ C ∧ ∧ E G ∧ ∧ I ∧ ∧ H ∧ (c)存储结构 (a)结点的构造 Lc info Rc (b)逻辑结构 * 5.二叉树的应用 在产品的组成分析上,零件的建模、工艺设计等很多方面都可用树结构表示。任何一个三维模型都可以看作是由若干个简单的子模型经过多次的旋转、并、差、交等运算组合而成,因此,任何一个三维模型都可有一级子模型、二级子模型或多级子模型。如下图所示。 * * * 1.概念 按一定的次序访问二叉树的每一个结点,且每个结点仅访问一次称为二叉树的遍历, 三、 二叉树的遍历 2.遍历方法 1)先序遍历:从上到下,先左后右(根-左-右) 2)中序遍历:从左向上,先上后下 (左-根-右) 3)后序遍历:从左向右,先下后上 (左-右-根) * 1)先序遍历:(根-左-右)A-B-D-G-C-E-F-H-I 2)中序遍历:(左-根-右)B-G-D-A-E-C-H-F-I 3)后序遍历:(左-右-根 G-D-B-E-H-I-F-C-A 【例】:对下图所示二叉树进行遍历 C E F H I A B D G * 每个都能唯一地转换到它对应的二叉树,方法是:凡是兄弟用线连接,对每个非终点节点,除其最左边孩子外,删去该节点与其他孩子节点的连线,在以根节点为轴心,顺时针旋转45。 B F E C G I H D A 一般的树 树和二叉树的转换: * B F E C G I H D A B F E C G I H D A 二叉树 * 习题1: 1 编写C函数,求单链表的长度; 2 编写C函数,从单向链表中删除一个结点(结点值=X); 3简述单向链表、双向链表、循环列表的特点; 4 简述栈与队列的特点; 5 简述树、二叉树的概念及两者的区别; 6 简述二叉树的遍历方法; * 第二章 机械CAD/CAM 常用的数据结构 第一节 概述 第二节 线性表 第三节 栈、队列和数组 第四节 树结构 * 用CAD/CAM系统进行产品设计、制造的过程,实质上就是利用计算机进行信息处理的过程。数据是计算机表达信息的主要形式,在设计、制造过程中,需要存储、运算、管理大量的各种类型的数据,因此如何合理地组织、有效地存储和管理数据,使得CAD/CAM的各种程序具有较高的运行效率和较少的存储空间,这就涉及到数据结构。 引言: * 第一节 概述 一、数据和数据结构 ?1.数据 是一切描述客观事物并能被计算机接受和处理的符号的集合。 2.数据结构
文档评论(0)