假設二叉樹為:
ab c
d e
因為程式中要知道葉子結點(終點),所以要將上面的二叉樹變成擴充套件二叉樹 (把葉子結點的孩子補成#, 用作標記), 擴充套件後就變成了:
ab c
# d # e
# # # #
那麼,在輸入的時候,需要輸入: ab#d##c#e## (注意,輸入後,按enter鍵即可) ,程式如下:
[cpp]view plain
copy
#include
using
namespace
std;
typedef
struct
node
bitreenode, *bitree;
void
createbitree(bitree &t)
} intmain()
經遍歷驗證可知,上面的程式是正確的, 至於如何遍歷,以後的博文會陸續給出相應的程式.
二叉樹構建 遞迴
輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如,給出 前序遍歷 preorder 3,9,20,15,7 中序遍歷 inorder 9,3,15,20,7 返回如下的二叉樹 限制 0 節點個數 5000 本次使用遞迴思路 二叉樹的構...
用遞迴方法建立二叉樹
2012 11 01 20 20 8624人閱讀收藏 舉報 資料結構與演算法 58 假設二叉樹為 ab c d e 因為程式中要知道葉子結點 終點 所以要將上面的二叉樹變成擴充套件二叉樹 把葉子結點的孩子補成 用作標記 擴充套件後就變成了 ab c d e 那麼,在輸入的時候,需要輸入 ab d c...
用遞迴方法建立二叉樹
假設二叉樹為 ab c d e 因為程式中要知道葉子結點 終點 所以要將上面的二叉樹變成擴充套件二叉樹 把葉子結點的孩子補成 用作標記 擴充套件後就變成了 ab c d e 那麼,在輸入的時候,需要輸入 ab d c e 注意,輸入後,按enter鍵即可 程式如下 cpp view plain co...