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

Binary Search Tree

Uploaded by

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

Binary Search Tree

Uploaded by

hari
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

SOURCE CODE:

#include<stdio.h>
#include<stdlib.h>
struct treeNode
{
int data;
struct treeNode*left;
struct treeNode*right;
};
struct treeNode*createNode(int data)
{
struct treeNode*newNode=(struct treeNode*)malloc(sizeof(struct
treeNode));
newNode->data=data;
newNode->left=newNode->right=NULL;
return newNode;
}
void inorder_traversal(struct treeNode*root)
{
if(root!=NULL)
{
inorder_traversal(root->left);
printf("%d->", root->data);
inorder_traversal(root->right);
}
}
void preorder_traversal(struct treeNode*root)
{
if(root!=NULL)
{
printf("%d->", root->data);
preorder_traversal(root->left);
preorder_traversal(root->right);
}
}
void postorder_traversal(struct treeNode*root)
{
if(root!=NULL)
{
postorder_traversal(root->left);
postorder_traversal(root->right);
printf("%d->",root->data);
}
}
struct treeNode*buildtree()
{
int data;
printf("Enter data for the root node:"); scanf("%d",&data);
struct treeNode*root=createNode(data);
printf("Enter data for left child of %d:", data);
scanf("%d",&data);
if(data!=-1)
{
root->left=buildtree();
}
printf("Enter data for right child of %d:",root->data);
scanf("%d",&data);
if(data!=-1)
{
root->right=buildtree();
}
return root;
}
int main()
{
struct treeNode*root=buildtree();
printf("\nInorder traversal\n");
inorder_traversal(root);
printf("\n");
printf("\nPreorder traversal\n");
preorder_traversal(root);
printf("\n");
printf("\nPostorder traversal\n");
postorder_traversal(root);
printf("\n");
free(root);
return 0;
}

OUTPUT:
SOURCE CODE:
#include<stdio.h>
int a[20][20],q[20], visited [20],n;
void dfs(int v)
{
int i;
for (i=0;i<n;i++)
{
if(a[v][i] != 0 && visited[i] == 0)
{
visited[i]=1;
printf("%d ",i);
dfs(i);
}
}
}
int main()
{
int v,i,j;
printf("\n Enter the number of vertices:");
scanf("%d",&n);
for (i=0;i<n;i++)
{
visited[i]=0;
}
printf("\n Enter graph data in matrix form:\n");
for (i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("\n Enter the starting vertex:");
scanf("%d",&v);
printf("\n DFS traversal is:\n");
visited[v]=1;
printf("%d ",v);
dfs(v);}
OUTPUT:

You might also like