thanks a lot to all for their replies.. On 9 May 2010 11:23, rahul rai <raikra...@gmail.com> wrote:
> can anyone give me links to more educative and active groups like algogeeks > > On Sun, May 9, 2010 at 2:11 AM, Arun prasath > <aruntendulkar2...@gmail.com> wrote: > > This does not create a balanced tree but ensures that every element in > the > > tree is accessible by lg(n) time. > > > > Time : Complexity O(n) > > > > > > [a...@91blore-srv1 ~]$ cat recursion.c > > #include <stdlib.h> > > #include<unistd.h> > > #include <stdio.h> > > #define TEST2 > > #ifdef TEST1 > > int arr[] = { 1,2,3,4,5,6,7}; > > int max_elems = sizeof(arr)/sizeof(arr[0]); > > #endif > > > > #ifdef TEST2 > > int arr[] = { 1,2,3,4,5}; > > int max_elems = sizeof(arr)/sizeof(arr[0]); > > #endif > > > > #ifdef TEST3 > > int arr[] = { 1,2,3,4,5,6,7,8}; > > int max_elems = sizeof(arr)/sizeof(arr[0]); > > #endif > > > > #define LIST_EMPTY -1 > > > > struct tree { > > int data; > > struct tree * left,* right; > > }; > > > > struct tree* function( int , int); > > void print_inorder( struct tree *); > > > > int return_next_from_list(void) > > { > > static int nxt_elem = 0; > > if(nxt_elem < max_elems) > > return arr[nxt_elem++]; > > > > return LIST_EMPTY;// empty condition > > } > > int main() > > { > > unsigned int x = max_elems; > > struct tree* head; > > while( x & (x - 1) ) { > > x = x & (x - 1) ; > > } > > > > head = function(0, x); > > print_inorder(head); > > free(head); > > return 0; > > } > > struct tree* function(int mid, int i) > > { > > int val = mid + i ; > > if (val & 1) { > > struct tree * leaf = malloc( sizeof(struct tree) ); > > leaf->left = leaf->right = NULL; > > leaf->data = return_next_from_list(); > > if(leaf->data == LIST_EMPTY) { > > free(leaf); > > return NULL; > > } > > return leaf; > > } > > struct tree *non_leaf = malloc( sizeof(struct tree) ) ; > > > > non_leaf->left = function( mid, i/2); > > non_leaf->data = return_next_from_list(); > > if (non_leaf->data == LIST_EMPTY) { > > struct tree *tmp = non_leaf->left; > > free(non_leaf); > > return tmp; > > } > > non_leaf->right = function( mid+i, i/2); > > return non_leaf; > > } > > void print_inorder( struct tree* root) > > { > > struct tree * trav = root; > > if (!trav) { > > return; > > } > > print_inorder(trav->left); > > if(trav->left) > > free(trav->left); > > printf("{%d}", trav->data); > > print_inorder(trav->right); > > if(trav->right) > > free(trav->right); > > > > } > > [a...@91blore-srv1 ~]$ > > > > > > On Sun, May 2, 2010 at 6:38 PM, divya <sweetdivya....@gmail.com> wrote: > >> > >> u are given a sorted lnked list construct a balanced binary search > >> tree from it. > >> > >> -- > >> 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. > > -- 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.