二叉树的层次遍历以及用层次遍历算法显示所有叶子节点

2024-12-21 06:42:55
推荐回答(3个)
回答1:

#include
using namespace std;
struct segtree{int a,b;} tree[10001];
void buildtree(int l,int r,int root = 0) //建树 { tree[root].a=l; tree[root].b=r; if (l==r) return; int mid=(l+r)>>1; root<<=1; buildtree(l,mid,root+1); buildtree(l,mid,root+2);}
void dfs(int level,int root = 0){ for (int i=1;istruct {int root,level;} st[100001];
void bfs(){ int top=1,first=0; st[first].root=0; st[first].level=1; while (first1;i--) cout<<' '; cout<<"Lv"<int main(){ int t,i; cout<<"以[1,9]线段树为例,生成一个二叉树。\n\n"; buildtree(1,9); cout<<"以深度遍历该树(深搜):\n"; dfs(1); cout<<"以深度遍历该树(宽搜):\n"; bfs(); system("pause"); return 0;}

回答2:

算法非常奇特

回答3:

数据结构