陕西建设网站,互联网公司排名2022销售额,茂名高端模板建站,优秀设计师的个人网站这里写目录标题 二叉树的基础知识知识点一(二叉树性质 )树与二叉树的相互转换二叉树的遍历层次优先遍历树的深度和广度优先遍历中序线索二叉树二叉树相关遍历代码顺序存储和链式存储二叉树的遍历二叉树的相关例题左右两边表达式求值求树的深度找数找第k个数二叉树非递归遍历代码… 这里写目录标题 二叉树的基础知识知识点一(二叉树性质 )树与二叉树的相互转换二叉树的遍历层次优先遍历树的深度和广度优先遍历中序线索二叉树 二叉树相关遍历代码顺序存储和链式存储二叉树的遍历 二叉树的相关例题左右两边表达式求值求树的深度找数找第k个数 二叉树非递归遍历代码二叉树的层次优先遍历二叉树非递归前序中序后续遍历 二叉树的基础知识
知识点一 (二叉树性质 ) 树与二叉树的相互转换 二叉树的遍历 层次优先遍历 树的深度和广度优先遍历 中序线索二叉树 二叉树相关遍历代码
顺序存储和链式存储
typedef struct Branch//顺序存储结构
{int cldx; Branch* next;
}Branch;
typedef struct
{int data; Branch* first;
}Tnode;
链式存储结构 二叉树的链式存储结构
typedef struct BTnode
{char data; struct BTnode* lchild; struct BTnode* rchild;
}BTnode; 二叉树的遍历
void xianxubianli(BTnode* p)
{if (p != NULL){visit(p);xianxubianli(p-lchild);xianxubianli(p-lchild);}
}递归进行中序遍历
void zhongxubainli(BTnode* p)
{if (p != NULL){zhongxubainli(p-lchild);visit(p);zhongxubianli(p-rchild);}
}BTnode*p 后序遍历进行递归操作
void houxubianli(BTnode* bt)
{if (p != NULL) {houxubianli(p-lchild); houxubianli(p-rchild); visit(p); }
}
二叉树的相关例题
左右两边表达式求值 int comp(BTnode* p)
{int A, B;if (p != NULL){if (p-lchikd != NULL p-rchild != NULL){A = comp(p-lchild);//这个是不断的求左边的树,一直到不行的时候,然后返回,//到上一个根的右边的树,然后看看求右边的树的值,并且也是递归,求右边树的数据的问题,//然后分别不断的求出左右两边的值,然后一起进行ji算B = comp(p-rchild);return op(A, B, p-data);//这个是求的是树左右两边的数据的求值}elsereturn p-data - '0'