給定一顆二叉樹,要求輸出二叉樹的深度以及先序遍歷二叉樹得到的序列。本題假設二叉樹的結點數不超過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 ...