Save in preorder, tagging each node with two bits indicating if that node 
has a left and right subtree.

Then rebuild like this:

Tree rebuild()
{
   Tree result = readNode();
   Tree->left = hasLeftSubtree ? rebuild() : 0;
   Tree->right = hasRightSubtree ? rebuild() : 0;
   return result;
}

On Friday, November 8, 2013 1:00:35 PM UTC-5, atul007 wrote:
>
> @don :  it is not BST ,  it is binary tree ...so your approach will 
> not work in this case. 
>
> @kumar : save pre-order and in-order traversal with some delimiter in 
> b/w traversals. 
>
> pre-order : a b c d e 
> in-order   : c b e a d 
>
> write in file :- 
>
> a b c d e # c b e a d 
>
> now use pre-order and in-order traversal to re-create binary tree. 
>
> 2) consider null node as "#" ..now write in file preorder traversal. 
>
> for eg :  a b c # # # d # # 
>
> 3) save level order traversal of binary tree, where each level uses 
> "#" to distinguish between levels and "*" to mark null nodes 
> eg : a # b c # e * 
> a - level 1 
> b c - level 2 
> e NULL - level 3 
>
> shortcoming in 2 and 3 is use of character that can be part of tree 
> itself.So if node can contain "#" then you have to use some other 
> character to distinguish. 
>
> for solution 1 , you can write traversal in 2 lines instead of using "#" 
>
> On 11/8/13, Vishnu <[email protected] <javascript:>> wrote: 
> > 1) save the nodes(value, left and right pointer) in pre-order traversal 
> > 2) also save pointers of all node in same order 
> > 
> > to restore 
> > 1) create new N nodes 
> > 2) do pointer mapping from old -> new 
> > 3) restore nodes and replace old pointers to new 
> > 
> > 
> > On Fri, Nov 8, 2013 at 8:50 PM, Don <[email protected] <javascript:>> 
> wrote: 
> > 
> >> Save it in pre-order. 
> >> Rebuild by inserting nodes in the order they occur in the file. 
> >> 
> >> 
> >> On Friday, November 8, 2013 8:33:19 AM UTC-5, kumar raja wrote: 
> >>> 
> >>> What is the effective way to save and restore the binary trees to 
> files 
> >>> effectively? 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> Regards, 
> >>> Kumar Raja. 
> >>> 
> >>  -- 
> >> You received this message because you are subscribed to the Google 
> Groups 
> >> "Algorithm Geeks" group. 
> >> To unsubscribe from this group and stop receiving emails from it, send 
> an 
> >> email to [email protected] <javascript:>. 
> >> 
> > 
> > 
> > 
> > -- 
> > Thanks, 
> > Vishnu 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "Algorithm Geeks" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to [email protected] <javascript:>. 
> > 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].

Reply via email to