设计判断二叉树是否为二叉排序树的算法
- bool isSortTree(TreeNode *Tree) 递归判断二叉树是否为二叉排序树,
1.1 叶子结点返回true,即N0结点
1.2 只有左右子树的其中一个,N1结点
1.3 有左右子树的,N2结点 - 二叉排序树性质:中序遍历二叉树 得到的序列值是递增的。
// 1、设计判断二叉树是否为二叉排序树的算法。(8分)
#include "stdio.h"
#include "stdbool.h"
#include "stdlib.h"
typedef struct TreeNode
{
int data; //数据域
TreeNode *left, *right; //指向其左右孩子结点
} TreeNode;
bool isSortTree(TreeNode *Tree);
void showTree(TreeNode *Tree);
int main(int argc, char const *argv[])
{
TreeNode Node4 = {
.data = 7, .left = NULL, .right = NULL