java - 序列化二叉搜索树

标签 java c++ serialization data-structures binary-search-tree

究竟如何序列化 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 protocol buffers https://developers.google.com/protocol-buffers/docs/overview

关于java - 序列化二叉搜索树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12047568/

相关文章:

java - 如何使用Gson提取字段

java - 如何比较具有 500,000k 行的单列两个 Excel 文件

java - Java 中的代理具有动态接口(interface)

c++ - 无法从堆栈中检索所有内容

c# - MSMQ 和 LINQ 实体对象序列化异常

linux - 序列化/反序列化文件 linux, cat

java - 运行另一个程序但保留 stdout/stderr

java - 为什么jdk中的exe有2个bin?

c++ - 在 C++ 中作为参数的多态(通用)函数

c++ - Friend函数无法构造类的唯一指针