首页 > 其他分享 >树的遍历

树的遍历

时间:2024-01-25 20:26:02浏览次数:19  
标签:std 10005 遍历 return struct int

二叉树的遍历

前序遍历

#include<bits/stdc++.h>
using namespace std;
int n;
struct s
{
	int l,r,d;
}a[10005];
void f(int t)//前序
{
	if(t==0)return;
	cout<<t<<' ';
	f(a[t].l);
	f(a[t].r);
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i].d>>a[i].l>>a[i].r;
	f(a[1].d);
    return 0;
}

中序遍历

#include<bits/stdc++.h>
using namespace std;
int n;
struct s
{
	int l,r,d;
}a[10005];
void f(int t)//中序
{
	if(t==0)return;
	f(a[t].l);
	cout<<t<<' ';
	f(a[t].r);
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i].d>>a[i].l>>a[i].r;
	f(a[1].d);
    return 0;
}

后序遍历

#include<bits/stdc++.h>
using namespace std;
int n;
struct s
{
	int l,r,d;
}a[10005];
void f(int t)//后序
{
	if(t==0)return;
	f(a[t].l);
	f(a[t].r);
    cout<<t<<' ';
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i].d>>a[i].l>>a[i].r;
	f(a[1].d);
    return 0;
}

标签:std,10005,遍历,return,struct,int
From: https://www.cnblogs.com/RTER/p/17988071

相关文章

  • KY11 二叉树遍历C++
    这个题目思路其实就是先序遍历的变形。相当于沿着先序遍历的顺序跟着构建二叉树就行。然后中序遍历这个树。#include<iostream>#include<string>usingnamespacestd;structtnode{chardata;structtnode*left;structtnode*right;};typedefstructt......
  • KY212 二叉树遍历C++
    思路是先构造出树,然后在后序遍历整个树。#include<iostream>#include<string>usingnamespacestd;structTnode{chardata;structTnode*left;structTnode*right;};typedefstructTnodeTree;Tree*build(stringpre,inth1,intt1,stringin,inth2......
  • 2024-1-24案例(地区查询)以及遍历方法
    目录案例(地区查询)步骤解析案例里面的map方法该案例的最后一个将数据插入到页面上案例(地区查询)需求:根据输入的省份名字和城市名字,查询地区并渲染列表步骤首先:确定URL网址和参数说明查询某个省内某个城市的所有地区参数名:pname:省份名字或直辖市名字,比如北京、福建省、辽......
  • 树结构及前中后续遍历
    publicclassTree{publicstaticvoidmain(String[]args){Treeroot=newTree(50);Tree.insert(root,30);Tree.insert(root,60);Tree.insert(root,70);Tree.insert(root,100);Tree.insert(root,80);......
  • 遍历删除集合元素
    1publicclassTest{2publicstaticvoidmain(String[]args){3List<String>list=newArrayList<>();4list.add("张三");5list.add("张三");6list.add("李四");7......
  • 图的遍历
    链式前向星存图点击查看代码#include<bits/stdc++.h>usingnamespacestd;inth[100005],nx[100005],t[100005],cnt;intans[100005];intread1(){ charcc=getchar(); while(!(cc>=48&&cc<=57)) { if(cc=='-') { break; } cc=getch......
  • 遍历二叉树非递归实现
    实现1.前序遍历publicvoidpreOrderNor(TreeNoderoot){if(root==null){return;}Stack<TreeNode>stack=newStack<>();stack.push(root);while(!stack.isEmpty()){TreeNodecur......
  • Java中遍历方法对比
    DemopublicclassTest{publicstaticvoidmain(String[]args){test(10);test(100);test(1000);test(10000);}publicstaticvoidtest(intsize){//1.组装数组List<String>list=list(siz......
  • 遍历二叉树
    二叉树前言二叉树的遍历主要有深度优先遍历和广度优先遍历,深度优先遍历是优先访问一个子树上的所有节点,访问的属性是竖向的,而广度优先遍历则是优先访问同一层的所有节点,访问属性是横向的。深度优先遍历深度优先遍历主要有三种顺序:前序遍历——根左右中序遍历——左根......
  • 动态规划(4) 完全背包的遍历顺序
    目录377组合总和Ⅳ进阶版爬楼梯322零钱兑换377组合总和ⅣclassSolution{public:intcombinationSum4(vector<int>&nums,inttarget){intn=nums.size();vector<int>dp(target+1,0);dp[0]=1;for(intj=0;j<=target;j++)......