Graphs

Run Settings
LanguageDart
Language Version
Run Command
// Edge list = // const graph = [[0,1],[2,3],[2,1],[1,3]]; // Adjacent List // const graph = [[2],[2,3],[0,1.3],[1,2]]; // Adjacent matrix // const graph = // [[0,0,1,0], // [0,0,1,1], // [1,1,0,1], // [0,1,1,0]]; class Graph { dynamic numberOfNodes; Map? adjacentList; Graph() { this.numberOfNodes = 0; this.adjacentList = { }; } addVertex( node) { if (!adjacentList!.containsKey(node)) { adjacentList![node] = []; } numberOfNodes++; } addEdge(node1, node2) { //undirected Graph adjacentList![node1].add(node2); adjacentList![node2].add(node1); } showConnections() { adjacentList!.forEach((key, value) { print('$key --> $value'); }); } } void main() { Graph myGraph = new Graph(); myGraph.addVertex('0'); myGraph.addVertex('1'); myGraph.addVertex('2'); myGraph.addVertex('3'); myGraph.addVertex('4'); myGraph.addVertex('5'); myGraph.addVertex('6'); myGraph.addEdge('3', '1'); myGraph.addEdge('3', '4'); myGraph.addEdge('4', '2'); myGraph.addEdge('4', '5'); myGraph.addEdge('1', '2'); myGraph.addEdge('1', '0'); myGraph.addEdge('0', '2'); myGraph.addEdge('6', '5'); myGraph.showConnections(); //Answer: // 0-->1 2 // 1-->3 2 0 // 2-->4 1 0 // 3-->1 4 // 4-->3 2 5 // 5-->4 6 // 6-->5 }
Editor Settings
Theme
Key bindings
Full width
Lines