Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.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
在java中,如何使用根节点生成有向无权图?_Java_Data Structures - Fatal编程技术网

在java中,如何使用根节点生成有向无权图?

在java中,如何使用根节点生成有向无权图?,java,data-structures,Java,Data Structures,我正在处理一个学校项目,我需要构建一个数据结构,该结构在根节点和多个“结束”节点之间有一个根节点、多个“结束”节点(数据结构的结尾)和未定义数量的节点(最多有两个指向其他节点的定向链接)。我在考虑创建某种二进制图(表示为邻接矩阵),其中每个节点最多可以导致另外两个节点,但我不知道如何构造它,使其具有根节点和结束节点。有没有人能给我一些想法,告诉我怎么做,或者有更好的方法?谢谢。(需要用java语言) 此外,我忘了提到我将向数据结构中添加元素,并且结构中的所有路径最终都必须指向一个预设的结束节点。

我正在处理一个学校项目,我需要构建一个数据结构,该结构在根节点和多个“结束”节点之间有一个根节点、多个“结束”节点(数据结构的结尾)和未定义数量的节点(最多有两个指向其他节点的定向链接)。我在考虑创建某种二进制图(表示为邻接矩阵),其中每个节点最多可以导致另外两个节点,但我不知道如何构造它,使其具有根节点和结束节点。有没有人能给我一些想法,告诉我怎么做,或者有更好的方法?谢谢。(需要用java语言)


此外,我忘了提到我将向数据结构中添加元素,并且结构中的所有路径最终都必须指向一个预设的结束节点。

为什么要使用邻接矩阵?关于二叉树(确切地说是DAG),您是对的。节点可以用此类表示:

class BinaryTree<T> {
    BinaryTree<T> left;
    BinaryTree<T> right;
}
类二进制树{
左二叉树;
二叉树右;
}

结束节点将是具有
left==null和&right==null的节点

为什么是邻接矩阵?关于二叉树(确切地说是DAG),您是对的。节点可以用此类表示:

class BinaryTree<T> {
    BinaryTree<T> left;
    BinaryTree<T> right;
}
类二进制树{
左二叉树;
二叉树右;
}

结束节点将是
left==null&&right==null

的节点这是我的错误,我忘了提到我将向数据结构中添加元素,并且结构中的所有路径最终都必须指向一个预设的结束节点。@jay“最终”是什么意思?我的意思是,无论你取下结构的什么路径,它都必须指向现在的预设结束节点。例如,如果我添加了一个节点,该节点是根节点的直接子节点,则添加的节点将自动需要一个“边”这将它连接到一个结束节点。这是我的错误,我忘了提到我将向数据结构中添加元素,并且结构中的所有路径最终都必须指向一个预设的结束节点。@jay“最终”是什么意思?我的意思是,无论你取下结构的什么路径,它都必须指向现在的预设结束节点。例如,如果我添加了一个节点,该节点是根节点的直接子节点,则添加的节点将自动需要一个“边”将其连接到一个结束节点。