树的遍历 Tranversal
来源:互联网 发布:情趣女王魏道道淘宝 编辑:程序博客网 时间:2024/06/04 18:49
对于二叉树,树的遍历通常有四种:先序遍历、中序遍历、后序遍历、广度优先遍历。(前三种亦统称深度优先遍历)对于多叉树,树的遍历通常有两种:深度优先遍历、广度优先遍历。
深度优先遍历
以下均是用递归方法
先序遍历
指先访问根,然后访问孩子的遍历方式,其C代码如下:
void XXBL(tree* root){
//Do Something with root
if(root->lchild!=NULL)
XXBL(root->lchild);
if(root->rchild!=NULL)
XXBL(root->rchild);
}
中序遍历
指先访问左(右)孩子,然后访问根,最后访问右(左)孩子的遍历方式,其C代码如下
void ZXBL(tree* root){
if(root->lchild!=NULL)
ZXBL(root->lchild);
//Do Something with root
if(root->rchild!=NULL)
ZXBL(root->rchild);
}
后序遍历
指先访问孩子,然后访问根的遍历方式,其C代码如下
void HXBL(tree* root){
if(root->lchild!=NULL)
HXBL(root->lchild);
if(root->rchild!=NULL)
HXBL(root->rchild);
//Do Something with root
}
广度优先遍历
和深度优先遍历不同,广度优先遍历会先访问离根节点最近的节点。二叉树的广度优先遍历又称按层次遍历。算法借助队列实现。
- 树的遍历 Tranversal
- [LintCode] 二叉树的层序遍历 Binary Tree Level Order Tranversal
- leetcode2:inorder tranversal
- 3 iterative tree tranversal approaches
- Binary Tree Level Order Tranversal
- LeetCode.145 Binary Tree Postorder Tranversal
- 二叉树的遍历(层遍历和深度遍历)
- 二叉树的前序中序后序遍历,非递归遍历 层次遍历
- 二叉树的先中后序遍历,递归遍历,非递归遍历
- 二叉树遍历-----前序后序迭代遍历的新思路
- 二叉树的遍历-按层次遍历
- 二叉树的遍历(递归遍历)
- 二叉树的遍历-层次遍历
- 树的遍历
- 六、 树的遍历
- 二叉树的遍历
- haffman树的遍历
- 二叉树的遍历
- Linux内核分析 - 网络[四补]:路由表补充
- 鸡尾酒排序,也就是定向冒泡排序, 鸡尾酒搅拌排序, 搅拌排序
- 二叉树 Binary Tree
- PHP 日期处理
- 基于百度地图API的WinForm地图
- 树的遍历 Tranversal
- 一个弹出模态窗口的例子
- Android多媒体之录制
- 二叉查找树(Binary Search Tree)
- test
- AVL树
- 中国高铁综合技术不成熟
- 用wpa_cli工具时候报错
- 红黑树 RBT (Red Black Tree)