C++ 如何从边生成二叉树?
我从from中的输入中获取二叉树的所有边C++ 如何从边生成二叉树?,c++,algorithm,data-structures,tree,binary-tree,C++,Algorithm,Data Structures,Tree,Binary Tree,我从from中的输入中获取二叉树的所有边 parentId childId e.g. 0 3 // means from node 0 to node 3 // 0 does not mean root of the tree. 如何从中构造树?一种方法是分两步进行: 组装树中的所有链接 找到树的根 要组装所有链接,您可以首先构建一个由每个节点的ID键控的哈希表(或者一个大小合适的巨型数组,如果您知道ID都在0…N范围内,可以选择N)。无论何时从文件中读取一行,都可以执行以下
parentId childId
e.g. 0 3 // means from node 0 to node 3
// 0 does not mean root of the tree.
如何从中构造树?一种方法是分两步进行:
希望这有帮助 首先,您要构建一个节点id映射,以列出连接的节点
然后,我浏览地图,并从地图中的信息创建从、到链接 如果是二叉树,那么文件中缺少信息,应该有格式 父项、左项、右项或
或者左和右总是按相同的顺序排列(先左),每个节点有两行,第二行在下一行。该文件按原样处理,不必采用您建议的格式。每个节点最多只有2行(作为父节点),每个子节点一行。是的,但左子树应该是第一行,