Given a binary tree, how can you serialize and deserialize it?
Serialization: Storing a given tree in a file or in an array.
Deserialization: Reverse of serialization.
Serialization is done using pre-order traversal -
A pre-order traversal array is created by visiting the tree in Root Node-Left subtree-Right subtree style in recursive manner.
We write a special marker ‘-1’ whenever a null node is encountered.
--------------
For Deserialization, following algorithm is used -
int index = 0;
Node deserialize(ArrayList array)
{
if (index == array.size() || array.get(index) == -1)
{
index += 1;
return null;
}
Node root = new Node(array.get(index));
index += 1;
root.left = deserialize(array);
root.right = deserialize(array);
return root;
}
Time Complexity: O(n)
Space Complexity: O(n)
Website: http://www.ideserve.co.in
Facebook: / ideserve.co.in
Auf dieser Seite können Sie das Online-Video Serialize and Deserialize a Binary Tree mit der Dauer stunde minuten sekunde in guter Qualität ansehen, das der Benutzer IDeserve 07 Mai 2016 hochgeladen hat, den Link mit Freunden und Bekannten teilen, dieses Video wurde auf Youtube bereits 33,232 Mal angesehen und es wurde von 456 den Zuschauern gefallen. Viel Spaß beim Betrachtenden Zuschauern gefallen!