如何序列化BST?最有效的方法是什么?现在,这太笼统了,所以让我解释一下我的意思。
这是一些伪伪代码:
public int[] serialize(root){
preorder traversal
convert node to binary representation
add the binary representation to an array
send array via stream
}
要么
public int serialize(root){
preorder traversal
convert node to binary representation
send the binary representation via stream
}
我的问题是-创建一个数组并将其发送满位,这样有效吗?还是我应该跳过整个数组的想法,每当转换一个节点时,将其发送以反序列化它?也许这两种实现都是愚蠢的。任何帮助,将不胜感激。
最佳答案
我建议您也看看Google协议缓冲区
https://developers.google.com/protocol-buffers/docs/overview