二叉树、树、森林的相互转化

二叉树、树、森林的相互转化

目录

二叉树、树、森林的相互转化

1)树转化为二叉树

2)森林转化为二叉树

3)二叉树转化为树

4)二叉树转化为森林


1)树转化为二叉树

  1. 连:把同一结点的孩子连起来;
  2. 剪:剪短第一个孩子以外其它孩子与双亲结点的连线;
  3. 调:调整结构,使符合二叉树结构;

2)森林转化为二叉树

  1. 将森林中的每棵树转化为二叉树;
  2. 第二颗二叉树作为第一颗二叉树根节点的右子树;
  3. 重复2直至所有二叉树连为一颗二叉树;

3)二叉树转化为树

  1. 调整结构:将二叉树斜方向分层;
  2. 连:不同层的相连结点连在第一个兄弟结点的双亲结点;
  3. 剪:断开兄弟结点之间的连线;

4)二叉树转化为森林

  1. 断:链接断开,使二叉树的根节点没有右孩子;
  2. 将得到的每棵二叉树转化为树;

你可能感兴趣的:(数据结构,二叉树,树结构)