Posts

Showing posts from November, 2018

Binary Search Tree Implementation

#include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct Node{ int data; struct Node *left; struct Node *right; }node; node *root = NULL; node *insertNode(node *tree, int data){ if(root==NULL){ root = createNode(data); return NULL; } if(tree==NULL){ return createNode(data); } if(data < tree->data){ tree->left = insertNode(tree->left, data); } else{ tree->right = insertNode(tree->right, data); } } int createNode(int data){ node *newNode = malloc(sizeof(node)); newNode -> data = data; newNode -> left = NULL; newNode -> right = NULL; printf("Node %d created\n", data); return newNode; } node *inorderTraverse(node *tree){ if(tree != NULL){ inorderTraverse(tree->left); printf("%d ", tree->data); inorderTraverse(tree->right); } } node *postorderTraverse(node *tree){ if(tree != NULL){ postorderTraverse(tree->left); postorderTraverse(tree->right);