Answers for "insert in binary tree"

6

bst to insert tree

struct Node
{
    int data;
    Node *left, *right;
};
 
// Function to create a new binary tree node having a given key
Node* newNode(int key)
{
    Node* node = new Node;
    node->data = key;
    node->left = node->right = nullptr;
 
    return node;
}
 
// Function to perform inorder traversal on the tree
void inorder(Node* root)
{
    if (root == nullptr) {
        return;
    }
 
    inorder(root->left);
    cout << root->data << " ";
    inorder(root->right);
}
 
// Recursive function to insert a key into a BST
Node* insert(Node* root, int key)
{
    // if the root is null, create a new node and return it
    if (root == nullptr) {
        return newNode(key);
    }
 
    // if the given key is less than the root node, recur for the left subtree
    if (key < root->data) {
        root->left = insert(root->left, key);
    }
    // if the given key is more than the root node, recur for the right subtree
    else {
        root->right = insert(root->right, key);
    }
 
    return root;
}
Posted by: Guest on May-23-2021
1

insertion in binary tree

# Python program to insert element in binary tree 
class newNode(): 

	def __init__(self, data): 
		self.key = data
		self.left = None
		self.right = None
		
""" Inorder traversal of a binary tree"""
def inorder(temp):

	if (not temp):
		return

	inorder(temp.left) 
	print(temp.key,end = " ")
	inorder(temp.right) 


"""function to insert element in binary tree """
def insert(temp,key):

	if not temp:
		root = newNode(key)
		return
	q = [] 
	q.append(temp) 

	# Do level order traversal until we find 
	# an empty place. 
	while (len(q)): 
		temp = q[0] 
		q.pop(0) 

		if (not temp.left):
			temp.left = newNode(key) 
			break
		else:
			q.append(temp.left) 

		if (not temp.right):
			temp.right = newNode(key) 
			break
		else:
			q.append(temp.right) 
	
# Driver code 
if __name__ == '__main__':
	root = newNode(10) 
	root.left = newNode(11) 
	root.left.left = newNode(7) 
	root.right = newNode(9) 
	root.right.left = newNode(15) 
	root.right.right = newNode(8) 

	print("Inorder traversal before insertion:", end = " ")
	inorder(root) 

	key = 12
	insert(root, key) 

	print() 
	print("Inorder traversal after insertion:", end = " ")
	inorder(root)
Posted by: Guest on March-13-2021
0

insert binary search tree

void BSNode::insert(std::string value) {

	if (this->_data == value) {
		_count++;
		return;
	}

	if (this->_data > value) {
		if (this->getLeft() == nullptr) {
			this->_left = new BSNode(value);
		}
		this->getLeft()->insert(value);
		return;
	}

	if (this->getRight() == nullptr) {
		this->_right = new BSNode(value);
		return;
	}
	this->getRight()->insert(value);
}
Posted by: Guest on January-03-2021

Code answers related to "Java"

Java Answers by Framework

Browse Popular Code Answers by Language