一个用C语言编写的程序,用于检查二叉树是否为二叉搜索树(BST)

2023年 8月 29日 43.1k 0

一个用C语言编写的程序,用于检查二叉树是否为二叉搜索树(BST)

二叉树是一种树形数据结构,每个节点都有两个子节点。这两个子节点被称为左子节点和右子节点。

二叉搜索树(BST)是一种树形结构,其中左子树包含小于根节点的值的节点,右子树包含大于根节点的值的节点。

在这里,我们将检查一个二叉树是否是BST:

为了检查这个,我们需要在二叉树上检查BST条件。对于根节点,左子节点的值应该小于根节点的值,右子节点的值应该大于根节点的值,对于树中所有存在子节点的节点都要满足这个条件。

检查一个二叉树是否是BST的程序

#include
#include
using namespace std;
class node {
public:
int data;
node* left;
node* right;
node(int data) {
this->data = data;
this->left = NULL;
this->right = NULL;
}
};
int isBSTUtil(node* node, int min, int max);
int isBST(node* node) {
return(isBSTUtil(node, INT_MIN, INT_MAX));
}
int isBSTUtil(node* node, int min, int max) {
if (node==NULL)
return 1;
if (node->data data > max)
return 0;
return
isBSTUtil(node->left, min, node->data-1) && isBSTUtil(node->right, node->data+1, max);
}
int main() {
node *root = new node(8);
root->left = new node(3);
root->right = new node(10);
root->left->left = new node(1);
root->left->right = new node(6);
if(isBST(root))
cout

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论