Javascript 如何创建具有不同父级和子级的图形结构
我试图创建一个图形结构,其中每个节点在JavaScript中都有不同的父节点和子节点。因此,每个节点必须能够有多个父节点和多个子节点。我需要能够区分父母和孩子,因为我需要按层次来表示。我需要能够在javascript中实现如下所示的内容,但结构显然会比这更大。我有什么办法可以做到这一点吗Javascript 如何创建具有不同父级和子级的图形结构,javascript,data-structures,graph,Javascript,Data Structures,Graph,我试图创建一个图形结构,其中每个节点在JavaScript中都有不同的父节点和子节点。因此,每个节点必须能够有多个父节点和多个子节点。我需要能够区分父母和孩子,因为我需要按层次来表示。我需要能够在javascript中实现如下所示的内容,但结构显然会比这更大。我有什么办法可以做到这一点吗 到目前为止,我已经尝试使用常规的树结构来实现这一点,我也尝试了本教程:,但我无法让它以如上所述的分层方式工作 一个简单的节点结构。每个节点都有不同的父节点和子节点。这里我叫左,右。我想你想要的是孩子们的名单。创
到目前为止,我已经尝试使用常规的树结构来实现这一点,我也尝试了本教程:,但我无法让它以如上所述的分层方式工作 一个简单的节点结构。每个节点都有不同的父节点和子节点。这里我叫左,右。我想你想要的是孩子们的名单。创建一个方法,将子对象附加到子对象列表中 抱歉,如果这是结构不良;我通常喝咖啡
更新了我的问题以显示这一点。谢谢你的建议@brycedruw。你应该解释一下你挂断了什么,你不能让它工作。左和右是什么意思?在示例中,左侧和右侧是否指节点2和3?我最终需要添加更多的节点,而不是它们自己的子节点。
var left, right;
var Node = (function() {
function Node(data, left, right) {
if (left == null) {
left = null;
}
if (right == null) {
right = null;
}
this.data = data;
this.left = left;
this.right = right;
}
Node.prototype.get_data = function() {
return this.data;
};
return Node;
})();
var node_4 = new Node("node_4", left=null, right=null);
var node_3 = new Node("node_3", left=node_4, right=null);
var node_2 = new Node("node_2", left=null, right=node_4);
var node_1 = new Node("node_1", left=node_2, right=node_3);
console.log(node_1.get_data())
console.log(node_1.left.get_data())
console.log(node_1.right.get_data())
console.log(node_1.left.right.get_data())
console.log(node_1.right.left.get_data())