1、实验目的与要求 1).熟归和有一个邻接表存储的图G,分别设计实现以下要求的算法:求出图中每个顶点的出度;计算图中出度为0的顶点数。
时间: 2023-12-14 12:39:14 浏览: 96
新建 DOC 文档_实现图的邻接矩阵和邻接表存储_doc_图的遍历算法_
5星 · 资源好评率100%
算法1:求出图中每个顶点的出度
1. 初始化每个顶点的出度为0
2. 对于图G中的每个顶点v,遍历其所有的邻居节点,将v的出度加1
3. 返回每个顶点的出度
代码实现:
```python
def get_outdegrees(G):
degrees = {}
for v in G:
out_deg = len(G[v])
degrees[v] = out_deg
return degrees
```
算法2:计算图中出度为0的顶点数
1. 初始化计数器count为0
2. 对于图G中的每个顶点v,如果其出度为0,则将count加1
3. 返回count
代码实现:
```python
def count_zero_outdegrees(G):
count = 0
for v in G:
if len(G[v]) == 0:
count += 1
return count
```
注意:以上两个算法都要求图G用邻接表存储。如果图G用邻接矩阵存储,则需要先将邻接矩阵转换为邻接表。
阅读全文