二叉树之层次遍历(一)
来源:互联网 发布:人工智能的中医郎中 编辑:程序博客网 时间:2024/05/21 12:46
这篇层次遍历用的是递归的方法。比较简单,主要是领悟思想。其主要思想是通过得出树的深度来遍历每一层。请看代码
//二叉树层次遍历/*递归方法*///主要难点有2个,1是得到树的深度,2是循环输出每层的节点#include<stdio.h>#include<stdlib.h>//创建节点typedef struct Node{int data;struct Node *lchild;struct Node *rchild;}Tree_Node,*Tree;//创建树Tree CreateTree(){Tree t=NULL;int a;scanf("%d",&a);if(a==-1){return t;}else{t=(Tree)malloc(sizeof(Tree_Node));t->data=a;t->lchild=CreateTree();t->rchild=CreateTree();return t;}}int max(int a,int b){if(a>b){return a;}else{return b;}}//求得树的深度int depth(Tree &t){if(t==NULL){return 0;}return 1+max(depth(t->lchild),depth(t->rchild));}//输出每层的节点void printTree(Tree &t,int lv){if(t==NULL||lv<0){return;}if(lv==1){printf("\t%d",t->data);return;}printTree(t->lchild,lv-1);printTree(t->rchild,lv-1);}int main(){int d;Tree t;t=CreateTree();d=depth(t);for(int i=1;i<=d;i++){printTree(t,i);printf("\n");}return 0;}
0 0
- 二叉树之层次遍历(一)
- 二叉树之层次遍历(二)
- 二叉树之层次遍历(js)
- 二叉树之层次遍历
- 二叉树之层次遍历
- 层次遍历二叉树
- 层次遍历二叉树
- 二叉树层次遍历
- 二叉树 层次遍历
- 二叉树层次遍历
- 层次遍历二叉树
- 二叉树层次遍历
- 层次遍历二叉树
- 二叉树层次遍历
- 二叉树层次遍历
- 层次遍历二叉树
- 二叉树层次遍历
- 二叉树层次遍历
- 云计算演义(8)巨头鏖战,格局已定?创业创新投资的机会是否还在?
- ui.router源码解析
- Arduino 控制减速步进电机 校验
- How do you design a rand7 function
- Android 基础知识总结
- 二叉树之层次遍历(一)
- 字典树
- 编程作业 简单的学生信息处理程序实现[北京大学C++课程]
- 比较 i++ 和 i=i+1的执行效率
- 处理大数字BigInteger与BigDecimal
- JAVA集合框架
- 2761: [JLOI2011]不重复数字
- junit4调试和关于spring注解方面的问题
- 文件编程——复制