假设有向图g采用邻接表存储,设计一个算法求出图g每个顶点的入度
时间: 2024-03-18 20:40:16 浏览: 210
采用连接表存储有向图,设计算法判断任意两个顶点间是否存在路径.doc
可以遍历邻接表中的每个顶点,并统计每个顶点的入度。具体地,可以定义一个数组in_degree,初始值都为0,然后遍历邻接表,对于每个顶点v的邻接表中的每个顶点u,都将in_degree[u]增加1。最终in_degree数组中的每个元素即为对应顶点的入度。
以下是具体的算法实现:
```python
def get_in_degree(adj_list):
n = len(adj_list)
in_degree = [0] * n
for u in range(n):
for v in adj_list[u]:
in_degree[v] += 1
return in_degree
```
其中,adj_list是邻接表,n是顶点数。算法的时间复杂度是O(m+n),其中m是边数。
阅读全文