0% found this document useful (0 votes)
4 views

Lab Assignments_06 DS

Uploaded by

hernotebook96
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Lab Assignments_06 DS

Uploaded by

hernotebook96
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Name-Devansh Singh Nikam

Enrollment no:-0801IT231043
Batch A2
Lab Assignments_06

Que1)Write a program to create a binary tree with pre, post and in-order traversing.

● Program:-
#include<stdio.h>
#include<stdlib.h>

struct node{
int data;
struct node* left;
struct node* right;
};
typedef struct node node;
void preorder_traversal(node* root);
void inorder_traversal(node* root);
void postorder_traversal(node* root);
struct node* createnode(int value){
node* n = (node*)malloc(sizeof(node));
n->data = value;
n->left = NULL;
n->right = NULL;
return n;
}

void preorder_traversal(node* root){


if(root != NULL){
printf("%d ", root->data);
preorder_traversal(root->left);
preorder_traversal(root->right);
}
}

void inorder_traversal(node* root){


if(root != NULL){
inorder_traversal(root->left);
printf("%d ", root->data);
inorder_traversal(root->right);
}
Name-Devansh Singh Nikam
Enrollment no:-0801IT231043
Batch A2
}

void postorder_traversal(node* root){


if(root != NULL){
postorder_traversal(root->left);
postorder_traversal(root->right);
printf("%d ", root->data);
}
}

int main(){

node* p = createnode(2);
node* p1 = createnode(3);
node* p2 = createnode(7);
node* p3 = createnode(8);
node* p4 = createnode(4);
node* p5 = createnode(11);
node* p6 = createnode(6);
node* p7 = createnode(9);

p->left = p1;
p->right = p2;
p1->left = p3;
p2->left = p4;
p3->left = p5;
p3->right = p6;
p4->right = p7;

printf("Preorder traversal is: ");


preorder_traversal(p);

printf("\n");
printf("Inorder traversal is: ");
inorder_traversal(p);

printf("\n");
printf("Postorder traversal is: ");
postorder_traversal(p);
Name-Devansh Singh Nikam
Enrollment no:-0801IT231043
Batch A2
return 0;
}

● Output:-
Name-Devansh Singh Nikam
Enrollment no:-0801IT231043
Batch A2
Que2)Write a program to create a binary search tree with pre, post and in-order
traversing.

● Program:-
#include<stdio.h>
#include<stdlib.h>

struct node{
int data;
struct node* left;
struct node* right;
};

typedef struct node node;

node* createnode(int value){


node* n = (node*)malloc(sizeof(node));
n->data = value;
n->left = NULL;
n->right = NULL;
return n;
}

node* insertNode(node* root, int data);


void preorder_traversal(node* root);
void inorder_traversal(node* root);
void postorder_traversal(node* root);

node* insertNode(node* root, int data){


if (root == NULL) {
root = createnode(data);
}
else if (data < root->data) {
root->left = insertNode(root->left, data);
}
else if (data > root->data) {
root->right = insertNode(root->right, data);
}
return root;
Name-Devansh Singh Nikam
Enrollment no:-0801IT231043
Batch A2
}

void preorder_traversal(node* root){


if (root != NULL){
printf("%d ", root->data);
preorder_traversal(root->left);
preorder_traversal(root->right);
}
}

void inorder_traversal(node* root){


if (root != NULL){
inorder_traversal(root->left);
printf("%d ", root->data);
inorder_traversal(root->right);
}
}

void postorder_traversal(node* root){


if (root != NULL){
postorder_traversal(root->left);
postorder_traversal(root->right);
printf("%d ", root->data);
}
}

int main(){
node* root = NULL;

root = insertNode(root, 50);


root = insertNode(root, 30);
root = insertNode(root, 20);
root = insertNode(root, 40);
root = insertNode(root, 70);
root = insertNode(root, 60);
root = insertNode(root, 80);

printf("Inorder Traversal: ");


inorder_traversal(root);
printf("\n");
Name-Devansh Singh Nikam
Enrollment no:-0801IT231043
Batch A2

printf("Preorder Traversal: ");


preorder_traversal(root);
printf("\n");

printf("Postorder Traversal: ");


postorder_traversal(root);
printf("\n");

return 0;
}

● Output:-

You might also like