本題要求實現函式,判斷給定二叉樹是否二叉搜尋樹。
函式介面定義:
bool isbst ( bintree t );
其中bintree結構定義如下:
typedef struct tnode *position;
typedef position bintree;
struct tnode;
函式isbst須判斷給定的t是否二叉搜尋樹,即滿足如下定義的二叉樹:
定義:乙個二叉搜尋樹是一棵二叉樹,它可以為空。如果不為空,它將滿足以下性質:
非空左子樹的所有鍵值小於其根結點的鍵值。
非空右子樹的所有鍵值大於其根結點的鍵值。
左、右子樹都是二叉搜尋樹。
如果t是二叉搜尋樹,則函式返回true,否則返回false。
裁判測試程式樣例:
#include #include typedef enum bool;
typedef int elementtype;
typedef struct tnode *position;
typedef position bintree;
struct tnode;
bintree buildtree(); /* 由裁判實現,細節不表 */
bool isbst ( bintree t );
int main()
/* 你的**將被嵌在這裡 */
輸入樣例1:如下圖
輸出樣例1:
yes輸入樣例2:如下圖
輸出樣例2:
no
//空二叉樹是二叉搜尋樹;
//只有乙個節點的二叉樹也是二叉搜尋樹;
bool isbst ( bintree t )
}bt1=t->right;//bt1指向二叉樹的右子樹;
if(bt1!=null)
}//需要滿足左子樹中的最大值小於根節點的鍵值;
//右子樹最小值大於根節點的鍵值;
if(bt->datadata&&bt1->data>t->data)
else return false;
}
是否二叉搜尋樹 25分
本題要求實現函式,判斷給定二叉樹是否二叉搜尋樹。bool isbst bintree t 其中bintree結構定義如下 typedef struct tnode position typedef position bintree struct tnode 函式isbst須判斷給定的t是否二叉搜尋樹...
6 2 是否二叉搜尋樹 (25 分
本題要求實現函式,判斷給定二叉樹是否二叉搜尋樹。函式介面定義 bool isbst bintree t 其中bintree結構定義如下 typedef struct tnode position typedef position bintree struct tnode 函式isbst須判斷給定的t...
6 2 是否二叉搜尋樹(25 分)
本題要求實現函式,判斷給定二叉樹是否二叉搜尋樹。bool isbst bintree t 其中bintree結構定義如下 typedef struct tnode position typedef position bintree struct tnode 函式isbst須判斷給定的t是否二叉搜尋樹...