pub fn shortest_path( graph: &CsrGraph, from: MemoryId, to: MemoryId, ) -> Option<Vec<MemoryId>>
Find shortest path using BFS. Returns None if no path exists.