47 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Graphs | |||
|  | localeTitle: 图表 | |||
|  | --- | |||
|  | ## 图表
 | |||
|  | 
 | |||
|  | 图表是可用于解决路由问题的数据结构,例如“这两个组件是否已连接?”和“从a点到b点的最短路径是什么?” | |||
|  | 
 | |||
|  | 图由节点和边组成。 节点(即顶点)是图形中的对象。 节点可以包含诸如节点名称和附加到哪些边缘之类的信息。 边是连接两个节点的链接。 边缘可以包含诸如边缘的重量之类的信息。 如果两个节点通过边连接,则它们是邻居(即相邻)。 | |||
|  | 
 | |||
|  | 根据问题,您可以使用双向(无向)或单向(定向)边。 如果你有一个从a到b的无向边,那么从b到a也有一种方法。 如果从a到b有一个有向边,则b和a之间不一定有边。 | |||
|  | 
 | |||
|  | 您可以使用图表来制定以下情况: | |||
|  | 
 | |||
|  | *   地理地图 | |||
|  | *   您所在国家/地区的每个城市都是节点 | |||
|  | *   如果两个城市通过公路连接,则它们之间存在边缘 \*道路可以是单向或双向(有向和无向边) \*重量可以是道路的长度 | |||
|  | *   水流 | |||
|  |     *   每个闸门都是一个节点 | |||
|  |     *   每条运河都是边缘 | |||
|  |         *   水只会沿一个方向流动,因此边缘是直的 | |||
|  |         *   重量可以是流量的最大水容量 | |||
|  | 
 | |||
|  | 示例:一个图表,其中包含北欧国家首都的节点,以及(无向)边缘到通过直接道路连接的城市的行车距离。 | |||
|  | ``` | |||
|  | .     +---------+  | |||
|  |  .     |Reykjavik|  | |||
|  |  .     +---------+  | |||
|  |  .  | |||
|  |  .  | |||
|  |  .         529 km   +---------+  1760 km  +--------+  | |||
|  |  .    +------------+|Stockholm|+---------+|Helsinki|  | |||
|  |  .    |             +---------+           +--------+  | |||
|  |  .    +                                        +  | |||
|  |  . +----+                    1991 km           |  | |||
|  |  . |Oslo|+-------------------------------------+  | |||
|  |  . +----+  | |||
|  |  .         +----------+  | |||
|  |  .         |Copenhagen|  | |||
|  |  .         +----------+  | |||
|  | ``` | |||
|  | 
 | |||
|  | #### 更多信息:
 | |||
|  | 
 | |||
|  | [广度优先搜索(BFS)](https://github.com/freecodecamp/guides/tree/master/src/pages/algorithms/graph-algorithms/breadth-first-search/index.md) | |||
|  | 
 | |||
|  | [深度优先搜索(DFS)](https://github.com/freecodecamp/guides/tree/master/src/pages/algorithms/graph-algorithms/depth-first-search/index.md) |