List of the Depth | Solution of cracking the coding interview

Program :-

Given the binary tree , design the an algorithm which creates a linked list of all the nodes at each depth (e.g. if you have a tree with depth D, you'll have D linked lists).

Code:-

#include<bits/stdc++.h>
using namespace std;

vector<int> arr[50];
struct node
{
int data;
node * left ,*right;
};
struct node * root;

node* CreateNode()
{
struct node * temp;
temp=new node;
return temp;
}

void BinarySearchTree(int a)
{
node * temp,*t;
temp=CreateNode();
temp->data=a;
temp->left=NULL;
temp->right=NULL;
if(root==NULL)
root=temp;
else
{
t=root;
while(t!=NULL)
{
if(t->data>a)
{
if(t->left==NULL)
{
t->left=temp;
t=t->left;
}
t=t->left;
}
else
{
if(t->right==NULL)
{
t->right=temp;
t=t->right;
}
t=t->right;
}
}
}
}

void preorder(node *t)
{
if(t)
{
cout<<t->data<<" ";
preorder(t->left);
preorder(t->right);
}
}
int main()
{
int n;
cout<<"Enter the number of nodes"<<endl;\
cin>>n;
int a;
cout<<"Enter the values"<<endl;
for(int i=0;i<n;i++)
{
cin>>a;
BinarySearchTree(a);
}
preorder(root);
return 0;
}

Output:-

Enter the number of nodes
10
Enter the values
1 12 11 13 23 43 10 9 67 4
1 12 11 10 9 4 13 23 43 67

Recommended Post:-

• Hackerearth Problems:-

Key points:-

MCQs:-