二叉树

性质:

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

二叉树

上一篇:【FLink任务调度源码】一、


下一篇:网络编程文字版