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

Lab Assignments_06 DS

Uploaded by

hernotebook96
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Lab Assignments_06 DS

Uploaded by

hernotebook96
Copyright
© © All Rights Reserved
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