首页 > 其他分享 >数据结构之树(树转化为二叉树也叫二叉化)

数据结构之树(树转化为二叉树也叫二叉化)

时间:2023-11-12 10:22:52浏览次数:29  
标签:横线 45 二叉 转化 之树 二叉树 节点

说明

对于将一般树结构转化为二叉树,使用的方法称为“Child-Sibling”(Leftmost-child-next-right-sibling)法则。

步骤

1. 将节点的所有兄弟节点,用横线连接起来

2. 删掉所有与子节点间的链接,只保留与最左子节点的链接

3. 顺时针旋转45度

 

二叉树转化为多叉树

与树转化为二叉树相反的步骤

1. 逆时针旋转45度

2. 同一条横线的是兄弟节点,相邻横线是父子关系

 

标签:横线,45,二叉,转化,之树,二叉树,节点
From: https://www.cnblogs.com/allenxx/p/17826805.html

相关文章

  • 数据结构之树(线索树)
    线索二叉树二叉树有些节点没有左子树或没有右子树或左右子树都没有,那么就会存在空链接的情况,为了充分利用空链接,让其指向树的其他节点,这些指向其他节点的链接就是线索,这棵树也变成了线索二叉树。二叉树变成线索二叉树的步骤1.二叉树先根据中序遍历的方式,进行排序(这样节点就直......
  • 面试必刷TOP101:25、二叉树的后序遍历
    题目题解importjava.util.*;/**publicclassTreeNode{*intval=0;*TreeNodeleft=null;*TreeNoderight=null;*publicTreeNode(intval){*this.val=val;*}*}*/publicclassSolution{/***代码中的类名、方......
  • 数据结构之树(二叉排序树)
    特点二叉排序树(BinarySearchTree,BST)的特点:每个节点最多有两个子节点,分别称为左子节点和右子节点。节点的左子树中的所有节点的值都小于该节点的值。节点的右子树中的所有节点的值都大于该节点的值。左子树和右子树也分别是二叉排序树。BST的主要优点是可以实现高效的查......
  • C++创建二叉排序树
    voidcreate(Tree&t,intval){if(t==nullptr){t=newnode;t->data=val;t->left=t->right=nullptr;}elseif(val>t->data)create(t->right,val);elseif(val<t->data)create(t->left,val);}voidinsert(Tree&......
  • 二叉树(周五实验)
    1#include<iostream>2#include<fstream>3usingnamespacestd;45typedefstructTreeNode6{7chardata;8intlevel;9TreeNode*lchid;10TreeNode*rchid;11}TreeNode;1213chararr[20][2];//存放结......
  • [左神面试指南] 二叉树[上]篇
    CDXXX用递归和非递归方式实现二叉树先序、中序和后序遍历❗publicclassCDbianli_1{publicstaticclassTreeNode{publicintval;publicTreeNodeleft;publicTreeNoderight;publicTreeNode(intnum){......
  • 面试必刷TOP101:24、二叉树的中序遍历
    题目题解深度优先搜索-递归publicclassSolution{/***代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可***@paramrootTreeNode类*@returnint整型一维数组*/publicint[]inorderTraversal(TreeNo......
  • 02_二叉树的迭代遍历
    二叉树的迭代遍历//前序遍历顺序:中-左-右,入栈顺序:中-右-左classSolution{publicList<Integer>preorderTraversal(TreeNoderoot){List<Integer>result=newArrayList<>();if(root==null){returnresult;}St......
  • 面试必刷TOP101:23、二叉树的前序遍历
    题目题解importjava.util.*;publicclassSolution{publicvoidpreorder(List<Integer>list,TreeNoderoot){//遇到空节点则返回if(root==null)return;//先遍历根节点list.add(root.val);//再去左子树......
  • 05-二叉树
    5.二叉树5.0二叉树递归套路1)假设以X节点为头,假设可以向X左树和X右树要任何信息2)在上一步的假设下,讨论以X为头节点的树,得到答案的可能性(最重要)3)列出所有可能性后,确定到底需要向左树和右树要什么样的信息4)把左树信息和右树信息求全集,就是任何一棵子树都需要返回的信息S5......