首页 > 其他 > 详细

二叉树

时间:2021-07-23 23:59:12      阅读:37      评论:0      收藏:0      [点我收藏+]

性质:

1.i > 1的结点,其父结点是i/2

2.如果结点i有孩子,则左孩子是2i,右孩子是2i+1

 

二叉树的存储结构

struct node{
  int value;    //结点的值
  node *l, *r;  //指向左、右子结点  
};

 

 

二叉树的遍历

1.宽度优先遍历

  队列

2.深度优先遍历

(先中后序的意思是指父结点的遍历顺序)

  1>先序遍历  中左右

    伪代码:

void preorder(node *root){
    cout<<root->value;
    preorder(root->l);
    preorder(root->r);
}

 

  2>中序遍历  左中右

    伪代码:

void inorder(node *root){
    inorder(root->l);
    cout<<root->value;
    inorder(root->r);
}

 

  3>后序遍历  左右中

    伪代码:

void postorder(node *root){
    postorder(root->l);
    postorder(root->r);
    cout<<root->value;
}

 

题目推荐

hdu1710

二叉树

原文:https://www.cnblogs.com/ynzhang2020/p/15050308.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!