@Don : +1 ..got it ..thanks

On Wed, Nov 13, 2013 at 10:35 PM, Dave <[email protected]> wrote:

> @Don: Excellent solution. It requires little extra data to be stored, and
> it is easy to implement.
>
> Dave
>
> On Wednesday, November 13, 2013 9:31:47 AM UTC-6, Don wrote:
>
>> The data file contains the pre-order traversal. For each node indicate
>> the contents of the node and two bits to indicate if it has a left and/or
>> right subtree. I did this with a tree containing strings. Each node was one
>> line in the file, with the first character being 'A' if the node is a leaf,
>> 'B' if it has only a left subtree, 'C' if it has only a right subtree, and
>> 'D' if it has both left and right subtrees. Then you read the line, store
>> the string minus the first character, and recursively build the left and
>> then right subtree, as appropriate.
>>
>> Don
>>
>> On Monday, November 11, 2013 1:20:05 PM UTC-5, atul007 wrote:
>>>
>>> @don : i did not get it , what will be data in file?
>>>
>>>
>>> On Mon, Nov 11, 2013 at 10:14 PM, Don <[email protected]> wrote:
>>>
>>>> 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]> 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]> 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].
>>>>> >>
>>>>> >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > 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].
>>>>> >
>>>>>
>>>>  --
>>>> 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].
>>>>
>>>
>>>  --
> 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].
>

-- 
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