Serialize and Deserialize a Binary Tree

Publicado el: 07 mayo 2016
en el canal de: IDeserve
33,213
456

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  


En esta página del sitio puede ver el video en línea Serialize and Deserialize a Binary Tree de Duración hora minuto segunda en buena calidad , que subió el usuario IDeserve 07 mayo 2016, comparta el enlace con amigos y conocidos, en youtube este video ya ha sido visto 33,213 veces y le gustó 456 a los espectadores. Disfruta viendo!