樹結構練習——排序二叉樹的中序遍歷
problem description
在樹結構中,有一種特殊的二叉樹叫做排序二叉樹,直觀的理解就是——(1).每個節點中包含有乙個關鍵值 (2).任意乙個節點的左子樹(如果存在的話)的關鍵值小於該節點的關鍵值 (3).任意乙個節點的右子樹(如果存在的話)的關鍵值大於該節點的關鍵值。現給定一組資料,請你對這組資料按給定順序建立一棵排序二叉樹,並輸出其中序遍歷的結果。
input
輸入包含多組資料,每組資料格式如下。
第一行包含乙個整數n,為關鍵值的個數,關鍵值用整數表示。(n<=1000)
第二行包含n個整數,保證每個整數在int範圍之內。
output
為給定的資料建立排序二叉樹,並輸出其中序遍歷結果,每個輸出佔一行。
sample input 12
21 20
sample output
21 20
今天我們要判斷兩序列是否為同一二叉排序樹
#include #include #include typedef struct tree
tree;
tree *newtree()
tree *creat(tree *t,int x)
if(x>t->data)
else
}
在這裡插入**片
int judge(tree*t1,tree*t2) //判斷兩序列是否為同一二叉排序樹
if(t1->data==t2->data&&judge(t1->l,t2->l)&&judge(t1->r,t2->r))
return 1;
return 0;
}int k;
void show_mid(tree *t) //中序遍歷
else printf(" %d",t->data);
show_mid(t->r);
}}
在這裡插入**片
int main()
show_mid(t);printf("\n");
}return 0;
}
樹結構練習 排序二叉樹的中序遍歷
time limit 1000ms memory limit 65536k 在樹結構中,有一種特殊的二叉樹叫做排序二叉樹,直觀的理解就是 1 每個節點中包含有乙個關鍵值 2 任意乙個節點的左子樹 如果存在的話 的關鍵值小於該節點的關鍵值 3 任意乙個節點的右子樹 如果存在的話 的關鍵值大於該節點的關...
樹結構練習 排序二叉樹的中序遍歷
time limit 1000ms memory limit 65536k 在樹結構中,有一種特殊的二叉樹叫做排序二叉樹,直觀的理解就是 1 每個節點中包含有乙個關鍵值 2 任意乙個節點的左子樹 如果存在的話 的關鍵值小於該節點的關鍵值 3 任意乙個節點的右子樹 如果存在的話 的關鍵值大於該節點的關...
樹結構練習 排序二叉樹的中序遍歷
time limit 1000ms memory limit 65536k 有疑問?點這裡 在樹結構中,有一種特殊的二叉樹叫做排序二叉樹,直觀的理解就是 1 每個節點中包含有乙個關鍵值 2 任意乙個節點的左子樹 如果存在的話 的關鍵值小於該節點的關鍵值 3 任意乙個節點的右子樹 如果存在的話 的關鍵...