Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 在文件中存储二叉树_File_Binary Tree_Store - Fatal编程技术网

File 在文件中存储二叉树

File 在文件中存储二叉树,file,binary-tree,store,File,Binary Tree,Store,为此,我们可以使用类似于(A(B(D),(E)),(C))的东西将其存储在文件中。 但是如果你有(“,”,“树节点数据中的字符。然后如何存储它,以便我们可以检索它并构造原始BT。答案仍在您的问题中。您可以将字符存储在引号中,在读取这些字符时,无论何时遇到引号,请继续读取,直到找到下一个,然后删除引号。如果u在树中有引号,可以用其他特殊字符来逃避它们。 如果要将相当任意的数据结构存储为文本文件,请考虑使用。对于大多数语言都有编码器/解码器库。 如果这是为了家庭作业,或者您想知道如何自己实现它,请使

为此,我们可以使用类似于(A(B(D),(E)),(C))的东西将其存储在文件中。
但是如果你有(“,”,“树节点数据中的字符。然后如何存储它,以便我们可以检索它并构造原始BT。

答案仍在您的问题中。您可以将字符存储在引号中,在读取这些字符时,无论何时遇到引号,请继续读取,直到找到下一个,然后删除引号。如果u在树中有引号,可以用其他特殊字符来逃避它们。

如果要将相当任意的数据结构存储为文本文件,请考虑使用。对于大多数语言都有编码器/解码器库。


如果这是为了家庭作业,或者您想知道如何自己实现它,请使用的一般想法。如果您不熟悉该概念,请参阅该链接中的示例。

您必须知道可以使用哪些分隔符。例如,假设空格是分隔符,即节点数据不包含空格,则可以使用此分隔符存放在文件中的陈述:(A(B(D)(E))(C))
您可以用任何其他合适的分隔符替换空白空间。

如果您在节点-<代码>中有括号(< /代码>或<代码>),您必须这样做,例如,使用反斜杠
\
。当然,在解析数据时,您必须始终检查反斜杠。这会使解析器的速度减慢一点,因此如果速度非常重要,您应该选择一个根本不是有效节点字符的分隔符。

您是否考虑了特定的语言,或者您是寻找通用解决方案?
How to store a binary tree in a file & then read back.(Its not necessarily a BST)

               A
            /     \
          B        C
        /   \
       D    E