用遞迴的方法構建二叉樹

2021-06-29 04:24:52 字數 627 閱讀 9883

假設二叉樹為:

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...