我们将创建一个支持权重以及有向和无向类型的图类。这将使用邻接表来实现。随着我们转向更高级的概念,图形的权重和有向性质都将派上用场。
邻接列表是单独列表的数组A。数组Ai的每个元素都是一个列表,其中包含与顶点i相邻的所有顶点。我们使用2个成员,节点和边来定义它。
让我们通过定义我们的类和一些用于向图添加节点和边的方法来设置图类。
我们将首先定义以下方法-
addNode:将节点添加到图中
addEdge:将无方向的边添加到图形中
addDirectedEdge:添加有向边
class Graph { constructor() { this.edges = {}; this.nodes = []; } addNode(node) { this.nodes.push(node); this.edges[node] = []; } addEdge(node1, node2) { this.edges[node1].push(node2); this.edges[node2].push(node1); } addDirectedEdge(node1, node2) { this.edges[node1].push(node2); } display() { let graph = ""; this.nodes.forEach(node => { graph += node + "->" + this.edges[node].join(", ") + "\n"; }); console.log(graph); } }
您可以使用以下方法测试这些方法和我们的类:
let g = new Graph(); g.addNode("A"); g.addNode("B"); g.addNode("C"); g.addNode("D"); g.addNode("E"); g.addEdge("A", "C"); g.addEdge("A", "B"); g.addDirectedEdge("A", "D"); g.addEdge("D", "E"); g.display();
输出结果
这将给出输出-
A->C, B, D B->A C->A D->E E->D
本文向大家介绍如何使用JavaScript创建SVG图形?,包括了如何使用JavaScript创建SVG图形?的使用技巧和注意事项,需要的朋友参考一下 所有现代浏览器均支持SVG,您可以使用JavaScript轻松创建它。Google Chrome和Firefox均支持SVG。 使用JavaScript创建一个空白的SVG文档对象模型(DOM)。使用属性创建形状,例如圆形或矩形。
根据输入的不同,plot函数有不同的窗体。如果y是向量的形式,plot(y)则在y对应的轴上作出一个分段线状图。如果指定要求含两个向量时,则plot(x,y)作出一个y相对于x的图表。 例如:下面这些语句了用colon(冒号)算子来创建一个定义值取从0到2的向量x,计算出这些值的正弦函数值,然后画出结果。 x = 0:pi/100:2*pi; y = sin(x); plot(x,y) 现在给轴
问题内容: 我想创建一个包含以下项的条目 如何用Java做到这一点? 我尝试了以下失败。 问题答案:
问题内容: 我有一个JavaScript函数,该函数创建具有3行2单元格的表。 谁能告诉我如何使用我的函数创建下表(我需要针对我的情况进行此操作)? 这是下面给出的我的javascript和html代码: 问题答案: 这应该起作用(对上面的代码进行一些改动)。
使用PNG或JPG文件创建托盘,dock和应用程序图标。 进程: 主进程, 渲染进程 在 Electron 中, 对所有创建 images 的 api 来说, 你可以传递文件路径或 NativeImage 实例. 如果传递 null ,将创建一个空的image 对象. 例如, 当创建托盘图标或设置窗口图标时,你可以传递 String格式的文件路径 : 1 const {BrowserWindow
1选择一个图表工具。您最初使用的工具确定了 Illustrator 生成的图表类型;然而,您可以于日后方便地更改图表的类型。 2按照以下任何一种方式定义图表的尺寸: 从您希望图表开始的角沿对角线向另一个角拖动。按住 Alt 键 (Windows) 或 Option 键 (Mac OS) 拖移可从中心绘制。按住 Shift 键可将图表限制为一个正方形。 单击您要创建图表的位置。输入图表的宽度和高度,