【转】将一棵树转换为二叉树后,为什么根节点没有右子树

树转化为二叉树时结点左子树是原来的孩子结点,右子树是原来的兄弟结点。即取根节点左孩子向右连接他的兄弟结点(在同一层次的节点,原来互不相连)并把它的子树,而把除左孩子外,原来与根节点相连的线擦除。这样根节点没有右孩子,因为由树转化来的二叉树某个节点A的左子树是原来作为树时A的孩子,其右子树是他的兄弟。

原文地址:https://www.cnblogs.com/schips/p/10630811.html

时间: 2024-10-12 02:09:59

【转】将一棵树转换为二叉树后,为什么根节点没有右子树的相关文章

LeetCode:Binary Tree Paths - 获取一棵树从顶点到每个叶节点的路径

1.题目名称 Binary Tree Paths(获取一棵树从顶点到每个叶节点的路径) 2.题目地址 https://leetcode.com/problems/binary-tree-paths/ 3.题目内容 英文:Given a binary tree, return all root-to-leaf paths. 中文:给定一颗二叉树,返回所有的根节点到叶节点的路径 例如:现有一颗二叉树    1  /   2     3    5 所有由根节点到叶节点的路径如下: ["1->2-

编程将二叉树(子女右兄弟链)转换为树然后将树转换为二叉树(直接修改) 非递归实现

将子女右兄弟链修改为普通树然后将普通树修改为子女右兄弟链,注意是在原树上直接进行修改,不是根据原树创建转换后的新树,为了操作方便,树指针域用vector表示 C++代码: 子女右兄弟链存在共享子树情形: 1 #include "stdafx.h" 2 #include <iostream> 3 #include <stack> 4 #include <vector> 5 #include <string> 6 #include <m

树转换为二叉树小技巧

有下图所示的一树形结构 在转换时,保留原树中左子结点的那条边,作为转换后二叉树的左子节点的边:删除剩余的其他边,同时将树中的兄弟节点直接相连,将这些边作为转换后右子节点的边.如下图所示: 整理后如下图所示: 转换前后,树的前序遍历和二叉树的前序遍历相同,均为:123567489 树的后序遍历和二叉树的中序遍历相同,均为:256738941

如何将一棵树转化为对应的二叉树

如何将一棵树转化为对应的二叉树? 解答: 1. 将 节点的孩子 放在左子树: 2. 将 节点的兄弟 放在右子树. 例题: 答案: 延伸: 任何一棵树都可以表示成二叉树,并不是任何一棵二叉树都可以表示成树.那么树多还是二叉树多? 1. 任何一棵树都可以表示成二叉树,结合以上题目很容易理解. 2.不是任何一棵二叉树都可以表示成树: 当根节点包含右子树的时候,就无法表示成树了. 3. 树多还是二叉树多的问题: 二叉树也是树的一种,如果按照包含关系来说,树肯定包含二叉树了,树多一些

树与二叉树(2)

[toc] 树的存储结构 树的存储结构有两种,线式存储 和 链式存储,灵活使用这两种存储结构,具有如下五种存储方式: 双亲表示法,一种顺序(线式)表示法 孩子表示法,一种链式表示法 孩子链表表示法,结合线式存储和链式存储的混合表示方式 带双亲的孩子链表表示法,结合线式存储和链式存储的混合表示方式 二叉链表(孩子 - 兄弟)存储表示法,一种链式存储方式 双亲表示法 这是一种顺序表示法,使用一维数组存储树中的节点,每个存储单元存储节点的值及其双亲节点在数组中的下标值.下面的树 T 使用双亲表示法存储

数据结构——第三章树和二叉树:03树和森林

1.树的三种存储结构: (1)双亲表示法: #define MAX_TREE_SIZE 100 结点结构: typedef struct PTNode { Elem data; int parent; //双亲位置域 } PTNode; (2)孩子双亲链表表示法: typedef struct PTNode { Elem data; int parent; //双亲位置域 struct CTNode* nextchild; } *ChildPtr; (3)树的二叉链表(孩子-兄弟)存储表示法:

数据结构学习之第7章 树和二叉树

数据结构学习之第7章 树和二叉树 0x7.1.1 树的基本概念 ?1.树的定义 ? 树是由n(n>=0)个结点(或元素)组成的有限集合(记为T) ? 如果n>0,这n个结点中有且仅有一个结点作为树的根结点,简称为根,其余结点可分为m(m>=0)个互不相交的有限集\[T_{1}T_{2}\cdots T_{m}\],其中每个子集又是一棵符合定义的子树,称为根结点的子树. 知识点:由树的定义我们可以看出来树的结构是递归的 ?2.树的逻辑表示法 ? 1.树形表示法 ? 2.文氏图表示法 ? 3

树和二叉树

以下的内容做为学习笔记,复制别人的,感觉总结的比较好: 第5章 树和二叉树 本章中主要介绍下列内容:  1.树的定义和存储结构  2.二叉树的定义.性质.存储结构  3.二叉树的遍历.线索算法  4.树和二叉树的转换  5.哈夫曼树及其应用课时分配:     1.2两个学时,3四个学时,4两个学时, 5两个学时,上机两个学时重点.难点:     二叉树的遍历.线索算法.哈夫曼树及其应用 第一节 树 1.树的定义和基本运算1.1 定义    树是一种常用的非线性结构.我们可以这样定义:树是n(n≥

数据结构期末复习第六章树和二叉树

知识点: 先序遍历二叉树规则:根-左-右 1.访问根结点 2.先序遍历左子树 3.先序遍历右子树 中序遍历二叉树规则:左-根-右 1.先中序遍历左子树 2.再访问根节点 3.最后访问中序遍历右子树 后序遍历二叉树规则:左-右-根 1.后序遍历左子树 2.后序遍历右子树 3.访问根结点 1.  一棵二叉树的先序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为(A)A. CBEFDA                       B. FEDCBAC. CBEDFA