数据结构2 树与二叉树

1.树结构是一种非常重要的非线性结构,该结构中的一个数据元素可以有两个或两个以上的直接后继元素,树可以用来描述客观世界中广泛存在的层次结构关系。

2. 树本身是递归的,即一棵树由若干颗子树构成,而子树又由更小的子树构成。

3. 二叉树的遍历过程实质上是按一定规则将之线性化的过程。按照先遍历左子树后遍历右子树的约定,根据访问根结点位置的不同,可得到二叉树的先序、中序、后序的遍历方法。

对于上面的二叉树,若采用先序遍历法,则按照根结点-左子树-右子树的顺序迭代遍历,先输出1,然后遍历其左子树,输出左子树的根结点2,最终的遍历顺序为12457836;同理中序遍历的结果为42785136、后序遍历的结果为48752631。

4. 为了方便经常需要将普通的树转换为二叉树,转换规则为将孩子结点转换为左子树结点,而将兄弟结点转换为右子树结点。

原文地址:https://www.cnblogs.com/zhixin9001/p/8455939.html

时间: 2024-10-27 19:10:51

数据结构2 树与二叉树的相关文章

javascript实现数据结构: 树和二叉树,二叉树的遍历和基本操作

树型结构是一类非常重要的非线性结构.直观地,树型结构是以分支关系定义的层次结构. 树在计算机领域中也有着广泛的应用,例如在编译程序中,用树来表示源程序的语法结构:在数据库系统中,可用树来组织信息:在分析算法的行为时,可用树来描述其执行过程等等. 下面讲解的内容完整代码在这:https://github.com/LukeLin/data-structure-with-js/blob/master/Binary%20tree/BinaryTree.js 首先看看树的一些概念: 1.树(Tree)是n

javascript实现数据结构: 树和二叉树的应用--最优二叉树(赫夫曼树),回溯法与树的遍历--求集合幂集及八皇后问题

赫夫曼树及其应用 赫夫曼(Huffman)树又称最优树,是一类带权路径长度最短的树,有着广泛的应用. 最优二叉树(Huffman树) 1 基本概念 ① 结点路径:从树中一个结点到另一个结点的之间的分支构成这两个结点之间的路径. ② 路径长度:结点路径上的分支数目称为路径长度. ③ 树的路径长度:从树根到每一个结点的路径长度之和. 以下图为例: A到F :结点路径 AEF : 路径长度(即边的数目) 2 : 树的路径长度:3*1+5*2+2*3=19: ④ 结点的带权路径长度:从该结点的到树的根结

数据结构之——树与二叉树

树的基本概念: 树的概念是学习树的关键所在,掌握了树的基本概念,学会树与二叉树,so easy.我通过一棵树来了解树的基本概念,如下图 1.结点的度 结点的度是子结点的个数.例如:结点1有三个字结点2,3,4,所以结点1的度为3. 2.树的度 树的度等于所有结点度中度最高的值.例如:上图中结点度最高为3,所以树的度为3. 3.叶子结点 叶子结点是度为0的结点即没有子结点的结点.例如:上图中3,5,6,7,9,10. 4.分支结点 分支结点是除了叶子结点,树中的其他所有结点.例如:上面树的分支结点

数据结构:树与二叉树

大部分笔记摘自<大话数据结构>与<数据结构> 一:相关定义 1.树是n个结点的有限集,n=0时称为空树.在任意一颗非空树中:(1)有且仅有一个特定的称为根的结点:(2)当n>1时,其余结点可分为m个互不相交的有限集,T1.T2.--.Tm,其中每一个集合本身又是一颗树,并且称为根的子树. 2.结点拥有的子树数称为结点的度,而树的度为结点的度的最大值.度为0的结点称为叶结点或终端结点,度不为0的结点称为分支结点.内部结点或非中断结点. 3.结点的子树的根称为结点的孩子,该结点称

数据结构之树与二叉树(理论篇)

一.树 树的定义:树是n(n>=0)个结点的有限集. 对于任意一棵非空树:(1)有且仅有一个特定的结点称为根结点:(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,T3···,Tm,其中每一个集合本身又是一棵树,并且称为根的子树. 结点:树的结点包含一个数据元素及若干指向其子树的分支. 度(degree):结点拥有的子树数称为结点的度. 叶子(leaf):度为0的结点称为叶子或终端结点:度不为0的结点称为非终端结点或分支结点,除根结点外,分支结点也称为内部节点.

【数据结构】树与二叉树

树是一类重要的非线性数据结构,是以分支关系定义的层次结构 定义: 树(tree)是n(n>0)个结点的有限集T,其中: 有且仅有一个特定的结点,称为树的根(root) 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,--Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree) 特点: 树中至少有一个结点--根 树中各子树是互不相交的集合 基本术语 结点(node)--表示树中的元素,包括数据项及若干指向其子树的分支 结点的度(degree)--结点拥有的子树

(转)数据结构:树、二叉树、最优二叉树

来源:http://www.cnblogs.com/coder2012/archive/2013/06/05/3102868.html 树 树形结构是一类非常重要的非线性结构,它可以很好地描述客观世界中广泛存在的具有分支关系或层次特性的对象,因此在计算机领域里有着广泛应用,如操作系统中的文件管理.编译程序中的语法结构和数据库系统信息组织形式等. 树的相关定义 节点的度:一个节点含有的子树的个数称为该节点的度: 树的度:一棵树中,最大的节点的度称为树的度: 叶节点或终端节点:度为零的节点: 非终端

【数据结构】树与二叉树的基本概念

1. 树的定义与抽象数据类型 (1) 树的定义 树(Tree)是n(n>=0)个结点的有限集.n=0时称为空树.在任意一棵非空树中: 有且仅有一个特定的称为根(root)的结点: 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1.T2.…….Tm,其中每一个集合本身又是一棵树,并且称为根的子树(subTree). 需要注意的是: n>0时根结点是唯一的,不可能存在多个根结点,别和现实中的大树混为一起,现实中的树有很多根须,那是真实的树,数据结构中的树是只能有一个根结点:

数据结构之树和二叉树实现

二叉树 二叉树的抽象数据类型的接口定义 public interface BinaryTree { final String []mode={"preOrder","inOrder","postOrder","levelOrder"}; boolean createBTree(String gt); boolean isEmpty(); void traverseBTree(String s); Object findBTre