javascript有向图
时间: 2024-11-29 15:13:57 浏览: 16
JavaScript并没有内置的数据结构直接支持有向图(Directed Graph),但我们可以利用数组、对象或者自定义的类来模拟创建有向图。通常的做法是使用邻接列表(Adjacency List),即每个节点关联一个数组,数组中存储着该节点的所有出边指向的其他节点。另一种常见的实现是使用邻接矩阵(Adjacency Matrix),它是一个二维数组,其中行代表起点,列代表终点。
在JavaScript中,可以这样做:
```javascript
class Node {
constructor(data) {
this.data = data;
this.neighbors = [];
}
}
class DirectedGraph {
constructor() {
this.vertices = new Map();
}
addVertex(vertexData) {
const newNode = new Node(vertexData);
this.vertices.set(vertexData, newNode);
return newNode;
}
addEdge(fromNodeData, toNodeData) {
if (!this.vertices.has(fromNodeData)) {
throw new Error('From node not found');
}
const fromNode = this.vertices.get(fromNodeData);
fromNode.neighbors.push(this.vertices.get(toNodeData));
}
}
// 使用示例
const graph = new DirectedGraph();
const nodeA = graph.addVertex('A');
const nodeB = graph.addVertex('B');
graph.addEdge(nodeA.data, nodeB.data);
```
阅读全文
相关推荐


















