use std::collections::HashMap; use std::collections::VecDeque; fn dfs(graph: HashMap<&str, Vec<&str>>, start: &str) { let mut visited: Vec<&str> = Vec::new(); visited.push(start); for neighbor in graph.clone().get(start).unwrap() { if !visited.contains(&neighbor) { dfs(graph.clone(), neighbor); } } } fn main() { let mut graph: HashMap<&str, Vec<&str>> = HashMap::new(); graph.insert("A", vec!["B", "C"]); graph.insert("B", vec!["A", "D", "E"]); graph.insert("C", vec!["A", "F"]); graph.insert("D", vec!["B"]); graph.insert("E", vec!["B", "F"]); graph.insert("F", vec!["C", "E"]); println!("{:?}", graph); // bfs(graph, "A"); }

