YTU OJ2344 先序遍歷二叉樹

2021-08-28 16:02:24 字數 718 閱讀 4996

給定一顆二叉樹,要求輸出二叉樹的深度以及先序遍歷二叉樹得到的序列。本題假設二叉樹的結點數不超過1000。

輸入資料分為多組,第一行是測試資料的組數n,下面的n行分別代表一棵二叉樹。每棵二叉樹的結點均為正整數,資料為0代表當前結點為空,資料為-1代表二叉樹資料輸入結束,-1不作處理。二叉樹的構造按照層次順序(即第1層1個整數,第2層2個,第3層4個,第4層有8個......,如果某個結點不存在以0代替),比如輸入:

1 2 0 3 4 -1得到的二叉樹如下:

1 2 #

3 4輸出每棵二叉樹的深度以及先序遍歷二叉樹得到的序列。

#include#include#include#include#include#includeusing namespace std;

typedef struct node

btnode;

int depth=0;

void creatbtree(btnode *t)

else

}p->lchild=null;

p->rchild=null;

p=(btnode *)malloc(sizeof(btnode));

}depth=(int)ceil(log2(rear+1));

}void preorder(btnode *t)

}int main()

return 0;

}

YTU 2344 先序遍歷二叉樹

時間限制 1 sec 記憶體限制 128 mb 提交 4 解決 3 給定一顆二叉樹,要求輸出二叉樹的深度以及先序遍歷二叉樹得到的序列。本題假設二叉樹的結點數不超過1000。輸入資料分為多組,第一行是測試資料的組數n,下面的n行分別代表一棵二叉樹。每棵二叉樹的結點均為正整數,資料為0代表當前結點為空,...

先序構建二叉樹及先序遍歷二叉樹

先序為dlr d 根節點,l 左子樹,r 右子樹 a b c d e 先序序列為abdce,輸入為abd c e 表示空格,代表空樹 輸入按滿二叉樹輸入 每乙個節點都是乙個子樹的根節點 void pre create tree treenode t else else void pre visit ...

先序構建二叉樹及先序遍歷二叉樹

先序為dlr d 根節點,l 左子樹,r 右子樹 a b c d e 先序序列為abdce,輸入為abd c e 表示空格,代表空樹 輸入按滿二叉樹輸入 每乙個節點都是乙個子樹的根節點 void pre create tree treenode t else else void pre visit ...