6 1 是否二叉搜尋樹 25 分

2021-09-22 08:21:59 字數 1095 閱讀 3804

本題要求實現函式,判斷給定二叉樹是否二叉搜尋樹。

函式介面定義:

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是否二叉搜尋樹...