Serialize and Deserialize a Binary Tree

Publicado em: 07 Maio 2016
no 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  


Nesta página do site você pode assistir ao vídeo on-line Serialize and Deserialize a Binary Tree duração hora minuto segundo em boa qualidade , que foi baixado pelo usuário IDeserve 07 Maio 2016, compartilhe o link com seus amigos e conhecidos, no youtube este vídeo já foi visto 33,213 vezes e gostou 456 espectadores. Boa visualização!