1const graph = {
2 0: [1, 2], 1: [0, 3, 4],
3 2: [0, 4], 3: [1, 4], 4: [1, 2, 3],
4};
5function bfs(start) {
6 const visited = new Set([start]);
7 const queue = [start], order = [];
8 while (queue.length) {
9 const u = queue.shift();
10 order.push(u);
11 for (const v of graph[u])
12 if (!visited.has(v)) {
13 visited.add(v);
14 queue.push(v);
15 }
16 }
17 return order;
18}
19function dfs(u, visited = new Set(), order = []) {
20 visited.add(u);
21 order.push(u);
22 for (const v of graph[u])
23 if (!visited.has(v)) dfs(v, visited, order);
24 return order;
25}