Saltar al contenido

dado un árbol binario, determine si es un árbol de búsqueda binario válido (bst) en el ejemplo de código php

Este dilema se puede abordar de variadas formas, pero en este caso te dejamos la que en nuestra opinión es la solución más completa.

Ejemplo: comprobar bst

// C++ program to check if a given tree is BST. #includeusingnamespace std;/* A binary tree node has data, pointer to 
left child and a pointer to right child */structNodeint data;structNode* left,*right;;// Returns true if given tree is BST. boolisBST(Node* root, Node* l=NULL, Node* r=NULL)// Base condition if(root ==NULL)returntrue;// if left node exist then check it has // correct data or not i.e. left node's data // should be less than root's data if(l !=NULLand root->data <= l->data)returnfalse;// if right node exist then check it has // correct data or not i.e. right node's data // should be greater than root's data if(r !=NULLand root->data >= r->data)returnfalse;// check recursively for every node. returnisBST(root->left, l, root)andisBST(root->right, root, r);/* Helper function that allocates a new node with the 
given data and NULL left and right pointers. */structNode*newNode(int data)structNode* node =new Node; 
	node->data = data; 
	node->left = node->right =NULL;return(node);/* Driver program to test above functions*/intmain()structNode*root =newNode(3); 
	root->left	 =newNode(2); 
	root->right	 =newNode(5); 
	root->left->left =newNode(1); 
	root->left->right =newNode(4);if(isBST(root,NULL,NULL)) 
		cout <<"Is BST";else
		cout <<"Not a BST";return0;

Aquí tienes las comentarios y valoraciones

Si entiendes que ha sido de utilidad nuestro post, sería de mucha ayuda si lo compartieras con más programadores de esta forma nos ayudas a extender nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *