二叉森林

这篇博客是关于二叉森林的复习笔记,涵盖了从广义表生成二叉森林的方法,以及森林和树的先根、后根遍历。此外,还讨论了树的广度遍历,并探讨了遍历在计算结点个数和求解树深度等应用中的作用。
摘要由CSDN通过智能技术生成

复习笔记一篇。

  • 利用广义表生成二叉森林
  • 树与森林二叉遍历(树的先根、后根遍历;森林的先根、后根遍历)
  • 树的广度遍历
  • 树遍历的应用:求结点个数,求树的深度。
//
//  main.cpp
//  二叉森林
//
//  Created by scnulpc on 2018/10/21.
//  Copyright © 2018年 scnulpc. All rights reserved.
//

#include <iostream>
#include <queue>
#define size 100
using namespace std;
struct treeNode
{
    char value;
    treeNode* firstChild;
    treeNode* nextBrother;
    treeNode(char a):value(a),firstChild(NULL),nextBrother(NULL){}
};
//通过广义表将棵原始森林转为二叉树森林(长子-兄弟链)
treeNode* createTreeByList(char * &s,char end)
{
    
    if (*s==end) return NULL;
    if (*s==')'){s++;return NULL;}
    if (*s=='(') s++;
    treeNode* root = new treeNode(*s);
    s++;
    root->firstChild = createTreeByList(s,end);
    root->nextBrother = createTreeByList(s,end);
    return root;
}
//先根遍二叉树ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值