I highlighted the code which I feel need a change. Do let me know if it
correct.

LinkNode *levelOrderTraversal(node *root, int level)
{
  LinkNode *ptr1, *ptr2, temp;
  if(root == NULL)
    return NULL;
  if(level == 1)
    return createLinkNode(root);
  else
  {
    ptr1 =  levelOrderTraversal(root->left, level-1);
    ptr2 = levelOrderTraversal(root->right, level-1);
    if(ptr1 == NULL && ptr2 == NULL)
      return NULL;
    else if(ptr1 == NULL)
      return ptr2;
    else if(ptr2 == NULL)
      return ptr1;
    else
    {
     * temp = ptr1;
      while(ptr1->next)
         ptr1= ptr1->next;
      ptr1->next = ptr2;
      return temp;* (Will always return the head of the linked list to store
it in the array)
    }
  }
}


On Fri, Jul 30, 2010 at 8:18 AM, vineel yalamarth <
vineelyalamar...@gmail.com> wrote:

> Dude, yeah I got the algo, but can u write java code for that
>
>
> On Fri, Jul 30, 2010 at 6:03 PM, karthik ramanathan <
> nathankart...@gmail.com> wrote:
>
>> Do a BFS, by having a queue and keep inserting the nodes into it.
>> You should know how many nodes are there in each level, for which you can
>> have a variable to count the number of nodes in each level.
>> The when you remove from your queue do connect these nodes till your
>> count. You may need to use one more temp variable to not to lose the
>> previous level node count when you compute the next level node count.
>> Repeat the same for all the level.
>>
>> RK
>>
>>
>>
>> On Fri, Jul 30, 2010 at 11:21 AM, Amit Agarwal <lifea...@gmail.com>wrote:
>>
>>> A simple queue implementation will do.
>>>
>>> -Regards
>>> Amit Agarwal
>>> blog.amitagrwal.com
>>>
>>>
>>>
>>>
>>> On Fri, Jul 30, 2010 at 9:22 AM, Priyanka Chatterjee <
>>> dona.1...@gmail.com> wrote:
>>>
>>>>
>>>>
>>>>   On 30 July 2010 02:59, Priyanka Chatterjee <dona.1...@gmail.com>wrote:
>>>>
>>>>>   Algo: 1. find height of tree
>>>>>          2. do level order traversal
>>>>>             i> at each level store the address of each tree node in the
>>>>>  data part of a linked node and form linked list of the nodes
>>>>>              ii> store the header of a linked list at a certain level
>>>>> in an array
>>>>>          3. return array.// gives final structure
>>>>>
>>>>>
>>>>> complexity - T(n) =O(n)
>>>>>                   S(n)=O(h+n ) //h=height of tree
>>>>>
>>>>> //CODE
>>>>>
>>>>> //tree structure
>>>>> struct node {
>>>>> int data;
>>>>> struct node * left, *right};
>>>>>
>>>>> // linked list structure
>>>>> struct linkNode{
>>>>> struct node * data;
>>>>> struct linkNode * next;
>>>>> }
>>>>>
>>>>> struct linkNode** func(struct node * root){
>>>>>
>>>>> struct linkNode ** array;
>>>>>
>>>>> int i, h=height(root);
>>>>> for(i=1;i<=h;i++)
>>>>> array[i-1]=levelOrderTraversal(root, i);
>>>>>
>>>>> return array;// final tree structure
>>>>> }
>>>>>
>>>>> //max height of tree
>>>>>  int height(struct node *root){
>>>>>  int hL=height(root->left);
>>>>> int hR=height(root->right);
>>>>> return 1+ HR>HL?HR:HL;
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>> struct nodelink* levelOrderTraversal(struct node*root, int level){
>>>>> if(root==NULL) return NULL;
>>>>>
>>>>> if (level==1)
>>>>>   return createLinkNode(root); // create a node of a singly l
>>>>>
>>>>>
>>>>>   struct LinkNode *ptr;
>>>>> if(level>1){
>>>>> struct nodeLink * ptr1, *ptr2;
>>>>> ptr1=levelOrderTraversal(root->left,level-1);
>>>>> ptr2=levelOrderTraversal(root->right,level-1);
>>>>>
>>>>
>>>> if(ptr1==NULL && ptr2==NULL) return NULL;
>>>> if(ptr1==NULL) return ptr2;
>>>> if(ptr2==NULL) return ptr1;
>>>> ptr1->next=ptr2;
>>>>
>>>> return ptr2;
>>>>
>>>>> }
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>
>>>>>  struct linkNode * createLinkNode(struct node * root){
>>>>>
>>>>> struct linkNode* newNode=(struct linkNode*) malloc(sizeof(struct
>>>>> linkNode));
>>>>>
>>>>> newNode->data=root;
>>>>>
>>>>> newNode->next=NULL;
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Thanks & Regards,
>>>>> Priyanka Chatterjee
>>>>> Final Year Undergraduate Student,
>>>>> Computer Science & Engineering,
>>>>> National Institute Of Technology,Durgapur
>>>>> India
>>>>> http://priyanka-nit.blogspot.com/
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Thanks & Regards,
>>>> Priyanka Chatterjee
>>>> Final Year Undergraduate Student,
>>>> Computer Science & Engineering,
>>>> National Institute Of Technology,Durgapur
>>>> India
>>>> http://priyanka-nit.blogspot.com/
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Algorithm Geeks" group.
>>>> To post to this group, send email to algoge...@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>> .
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Algorithm Geeks" group.
>>> To post to this group, send email to algoge...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algoge...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/algogeeks?hl=en.
>>
>
>
>
> --
> Regards,
> vineel.
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algoge...@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to