理解K神这个实现主要是为了演示邻接矩阵的基本原理,但在实际使用中可能会遇到一些限制:在实际应用中,通常使用顶点的值而不是索引来操作图。所以,为了更“公平”地与邻接表方法的对比,进行了改进: 1. 引入 vertex_map:使用字典 vertex_map 来存储顶点值到索引的映射。 2. 基于值的操作:add_vertex, remove_vertex, add_edge, 和 remove_edge 方法现在都使用顶点值而不是索引。这使得图的操作更加直观和用户友好。 3. 动态索引管理:在 remove_vertex 方法中,更新了剩余顶点的索引映射。这确保了在删除顶点后,其他顶点的索引仍然保持正确。 |
||
|---|---|---|
| .. | ||
| graph_adjacency_list.py | ||
| graph_adjacency_matrix.py | ||
| graph_bfs.py | ||
| graph_dfs.py | ||