From df963761bfca6333a9e368ec015b141edd674222 Mon Sep 17 00:00:00 2001 From: thutasann Date: Sun, 1 Sep 2024 22:46:45 +0800 Subject: [PATCH] add: adjacent list sample --- .../src/graph/adjacency-list/index.ts | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 node-concepts/src/leetcodes/src/graph/adjacency-list/index.ts diff --git a/node-concepts/src/leetcodes/src/graph/adjacency-list/index.ts b/node-concepts/src/leetcodes/src/graph/adjacency-list/index.ts new file mode 100644 index 0000000..664c0c2 --- /dev/null +++ b/node-concepts/src/leetcodes/src/graph/adjacency-list/index.ts @@ -0,0 +1,27 @@ +type AdjacencyList = { + [node in 'A' | 'B' | 'C' | 'D' | 'E' | 'F']: string[]; +}; + +/** Example Adjacency List */ +const graph: AdjacencyList = { + A: ['B', 'C'], + B: ['A', 'D', 'E'], + C: ['A', 'F'], + D: ['B'], + E: ['B', 'F'], + F: ['C', 'E'], +}; + +/** Add Edge */ +function addEdge(graph: AdjacencyList, node1: string, node2: string) { + if (!graph[node1]) graph[node1] = []; + + if (!graph[node2]) graph[node2] = []; + + graph[node1].push(node2); + graph[node2].push(node1); +} + +addEdge(graph, 'G', 'H'); + +console.log('graph -> ', graph);