数据结构-树与图


数据结构中树与图的常用算法实现

:是N(N>=0)个结点的有限集合。任意一颗非空树应满足:

  • 有且仅有一个特定的称为的结点
  • 当N>1时,其余结点可分为m(m>0)个互不相交的有限集合T1,T2,…,Tm,其中每一个集合本身又是一颗树,并且称为根结点的子树

树适合表示具有层次结构的数据。

结构体

typedef struct Tree{
    int data;
    Tree *left,*right;
    Tree(int x):data(x),left(NULL),right(NULL){}
}TreeNode,*pTreeNode;

树的遍历

树中最重要的算法就是树的遍历,分为前中后序三种遍历方法,本文分别用递归和非递归的方式实现了以上三种遍历方法以及树的层次遍历。

源码实现

#include <iostream>
#include <stack>
#include <queue>
using namespace std;

//树的结构体
typedef struct Tree{
    int data;
    Tree *left,*right;
    Tree(int x):data(x),left(NULL),right(NULL){}
}TreeNode,*pTreeNode;

int res[6]={0},i=0;  //res辅助读取树的内容
/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值