zoukankan      html  css  js  c++  java
  • 树、树的遍历

    常见的树有:普通二叉树、平衡二叉树、完全二叉树、二叉搜索树、四叉树(Quadtree)、多叉树(N-ary Tree)。
    对于一些特殊的树,例如红黑树(Red-Black Tree)、自平衡二叉搜索树(AVL Tree),一般在面试中不会被问到,除非你所涉及的研究领域跟他们相关或者你十分感兴趣,否则不需要特别着重准备。

    树的遍历

    1. 前序遍历

    方法: 先访问根节点,然后访问左子树,最后访问右子树。在访问左子树、右子树的时候,同样,先访问子树的根节点,再访问子树根节点的左子树和右子树,这是一个不断递归的过程。
    应用场景: 运用最多的场合包括在树里进行搜索以及创建一棵新的树。

    2. 中序遍历

    方法: 先访问左子树,然后访问根节点,最后访问右子树,在访问左、右子树的时候,同样,先访问子树的左边,再访问子树的根节点,最后再访问子树的右边。
    应用场景: 最常见的是二叉搜索树,由于儿茶搜索树的性质就是左孩子小于根节点,根节点小于右孩子,对二叉搜索树进行中序遍历的时候,被访问到的节点大小是按照顺序进行的。

    3. 后序遍历

    方法: 先访问左子树,然后访问右子树,最后访问根节点。
    应用场景 在对某个节点进行分析的时候,需要来自左子树和右子树的信息。收集信息的操作是从树的底部不断往上进行,好比你在修剪一科树的叶子,修剪的方法时从外面不断地往根部将叶子一片片地修剪掉。

  • 相关阅读:
    Codeforces Round #365 (Div. 2) D
    Codeforces Round #414 C. Naming Company
    Codeforces Round #365 (Div. 2) B
    LA 6893 The Big Painting(矩阵Hash)
    Gym100783C Golf Bot(FFT)
    POJ 2481 Cows(树状数组)
    POJ 2352 Stars
    POJ 2299 Ultra-QuickSort(树状数组+离散化)
    LightOJ 1341 Aladdin and the Flying Carpet(唯一分解定理)
    LightOJ 1356 Prime Independence(质因数分解+最大独立集+Hopcroft-Carp)
  • 原文地址:https://www.cnblogs.com/zhangguangxiang/p/14232489.html
Copyright © 2011-2022 走看看