zoukankan      html  css  js  c++  java
  • 控制台输出二叉树


    //为了更好地观察二叉树, 这里使用0来填充空结点

    //maxLevel表示树的深度, 即树的最大层次
    //下面一段代码执行后
    //通过blankBetween[level]得到第level层树的两个结点之间应该打印多少个空格
    //通过blankFront[level]得到本层第一个结点前应该打印多少个空格
    int *blankBetween;
    blankBetween = (int *)malloc((maxLevel+1) * sizeof(int));
    for (int i = maxLevel; i >= 1; --i)
    {
        if (i == maxLevel) 
            blankBetween[i] = 1;
        else
            blankBetween[i] = blankBetween[i + 1] * 2 + 1;
    }
    int *blankFront;
    blankFront = (int *)malloc((maxLevel+1) * sizeof(int));
    for (int i = maxLevel; i >= 1; --i)
    {
        if (i == maxLevel)
            blankFront[i] = 0;
        else
            blankFront[i] = blankFront[i + 1] + blankBetween[i + 1] / 2 + 1;
    }
  • 相关阅读:
    poj2955(区间dp)
    poj3280(区间dp)
    poj1651(区间dp)
    hdu5001(概率dp)
    hdu4389(数位dp)
    hdu4352(数位dp)
    CF 148D(概率dp)
    zoj3329(概率dp)
    POJ1028 Web Navigation
    POJ1027 The Same Game
  • 原文地址:https://www.cnblogs.com/N3ptuner/p/10707343.html
Copyright © 2011-2022 走看看