二叉树静态遍历

1、先序遍历
void preorder(int root) {
if (root == -1) {
return;
}

printf("%d", Node[root]);
preorder(Node[root].lchid);
preorder(Noder[root].rchild);

}

2、中序遍历
void inorder(int root) {
if (root == -1) {
return;
}
inorder(Node[root].lchid);
printf("%d", Node[root]);
inorder(Noder[root].rchild);
}

3、后序遍历
void postorder(int root) {
if (root == -1) {
return;
}

postorder(Node[root].lchid);
postorder(Noder[root].rchild);
printf("%d", Node[root]);

}

4、层次遍历

void layerorder(int root) {
    queue<int>  q;      //此处队列存放节点下标
    q.push(root);       //将根节点入队
    while (!q.empty()) {
        int now = q.front();    //取出队首元素
        q.pop();
        printf("%d ", Node[now].data);  //访问队首元素
        if (Node[now].lchild != -1) {
            q.push(Node[now].lchild);
        }if (Node[node].rchild != -1) {
            q.push(Node[now].rchild);
        }

    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 二叉树的定义 二叉树(binary tree)是结点的有限集合,这个集合或者空,或者由一个根及两个互不相交的称为这...
    飘颜阅读 3,161评论 0 2
  • //转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/d...
    大海一滴写字的地方阅读 3,980评论 0 2
  • 二叉树:每个节点最多有两个孩子,是一种动态数据结构,具有递归结构。 其中空树和只有根节点的树都是二叉树。 满二叉树...
    代夫阿普曼阅读 2,812评论 0 4
  • 树的定义与基本术语   树型结构是一类重要的非线性数据结构,其中以树和二叉树最为常用,是以分支关系定义的层次结构。...
    java技术分享师阅读 4,806评论 0 1
  • 在昨天的文章《对外探索世界,对内探索自己》中,我提到自己正处于情绪低潮。 这其中有外在原因,也有个人自身原因。 而...
    恋上火烈鸟阅读 3,579评论 0 3