Write a function to find the depth of a binary tree.
Answer Posted / prakashkumarng
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
typedef struct linkedlist
{
int data;
struct linkedlist *left,*right;
}node;
node *makenode(int);
void setleft(node *,int);
void setright(node *,int);
void preorder(node *);
void postorder(node *);
void inorder(node *);
int depth(node *,int);
node *q,*k;
int l=0,d=1;
void main()
{
node *root,*p,*q;
int x,f;
clrscr();
printf("\nEnter the root :");
scanf("%d",&x);
root=makenode(x);
printf("\nEnter the data(-1 to stop) :");
scanf("%d",&x);
while(x!=-1)
{
p=root;
while(p!=NULL)
{
q=p;
if(x<p->data)
{
p=p->left;
}
else
{
p=p->right;
}
}
if(x<q->data)
{
setleft(q,x);
}
else
{
setright(q,x);
}
printf("\nEnter the data(-1 to stop) :");
scanf("%d",&x);
}
printf("\nPreorder traversal is \n");
preorder(root);
printf("\nPostorder traversal is \n");
postorder(root);
printf("\nInorder traversal is \n");
inorder(root);
printf("\nDepth of the tree is \n");
f=depth(root,l);
printf("%d",f+1);
getch();
}
node *makenode(int x)
{
node * temp;
temp=(node *)malloc(sizeof(node));
temp->data=x;
temp->left=NULL;
temp->right=NULL;
return(temp);
}
void setleft(node *p,int x)
{
node *temp;
if(p==NULL)
{
printf("Error");
}
temp=makenode(x);
p->left=temp;
}
void setright(node *p,int x)
{
node *temp;
if(p==NULL)
{
printf("Error");
}
temp=makenode(x);
p->right=temp;
}
void inorder(node *p)
{
if(p!=NULL)
{
inorder(p->left);
printf("%d\t",p->data);
inorder(p->right);
}
}
void postorder(node *p)
{
if(p!=NULL)
{
postorder(p->left);
postorder(p->right);
printf("%d\t",p->data);
}
}
void preorder(node *p)
{
if(p!=NULL)
{
printf("%d\t",p->data);
preorder(p->left);
preorder(p->right);
}
}
int depth(node *p,int l)
{
if(p!=NULL)
{
if(l>d)
d=l;
depth(p->left,l+1);
depth(p->right,l+1);
}
return d;
}
Is This Answer Correct ? | 48 Yes | 19 No |
Post New Answer View All Answers
#include
Develop a routine to reflect an object about an arbitrarily selected plane
how to test pierrot divisor
A program that will create a movie seat reservation. The program will display the summary seats and its status. The user will be ask what seat no. to be reserved, then it will go back again to the summary to display the updated seat status. If the seat no. is already reserved then it will prompt an error message. And also if the input seat no is out of range then it will also prompt an error message. The program is continuously running. Termination of the program will depends on how the programmer will apply. Sample output: Movie Seats Reservation Summary of Seats: Seat 1: Available Seat 2: Available Seat 3: Available Seat 4: Available Seat 5: Available Enter seat no. (Press 0 to terminate Or the assigned seat capacity) : 1 Movie Seats Reservation Summary of Seats: Seat 1: Reserve Seat 2: Available Seat 3: Available Seat 4: Available Seat 5: Available Enter seat no. (Press 0 to terminate Or the assigned seat capacity) : 6 The Seat no. is out of range! Movie Seats Reservation Summary of Seats: Seat 1: Reserve Seat 2: Available Seat 3: Available Seat 4: Available Seat 5: Available Enter seat no. (Press 0 to terminate Or the assigned seat capacity) : 1 The Seat no. is already reserved! Movie Seats Reservation Summary of Seats: Seat 1: Reserve Seat 2: Available Seat 3: Available Seat 4: Available Seat 5: Available Enter seat no. (Press 0 to terminate Or the assigned seat capacity) : 0 GoodBye... Thank You!!!
how to programme using switch statements and fuctions, a programme that will output two even numbers, two odd numbers and two prime numbers of the users chioce.
can you use proc sql to manpulate a data set or would u prefer to use proc report ? if so why ? make up an example and explain in detail
Can you send Code for Run Length Encoding Of BMP Image in C Language in linux(i.e Compression and Decompression) ?
Design an implement of the inputs functions for event mode
write a c program to input initial & final time in the format hh:mm and find the time intervel between them? Ex inputs are initial 06:30 final 00:05 and 23:22 final 22.30
What is the match merge ? compare data step match merge with proc sql merge - how many types are there ? data step vs proc sql
create a C-code that will display the total fare of a passenger of a taxi if the driver press enter,the timer will stop. Every 10 counts is 2 pesos. Initial value is 25.00
how to create a 3x3 two dimensional array that will give you the sums on the left and bottom columns
Write a routine to implement the polymarker function
What is the difference between proc means and proc tabulate ? explain with a simple example when you have to use means or tabulate?
Hi, i have a project that the teacher want a pyramid of numbers in C# or java...when we click a button...the pyramid should be generated in a listbox/or JtextArea...and the pyramid should have the folowing form: 1 232 34543 4567654 567898765 67890109876 7890123210987 890123454321098 90123456765432109 0123456789876543210 Plz help with codes...didn't find anything on the net.