节点的度为连接该节点的边的数量之和,即¬d_i=d_i^out+d_i^in 。 创建一个字典,用来存储各个节点的计算结果
时间: 2024-05-05 07:17:40 浏览: 16
,键为节点编号,值为节点的度。
示例代码:
```python
# 定义节点和边
edges = [(1, 2), (1, 3), (2, 3), (2, 4), (3, 4)]
# 创建字典
degrees = {}
# 遍历边,统计节点的度
for edge in edges:
# 统计出度
if edge[0] in degrees:
degrees[edge[0]] += 1
else:
degrees[edge[0]] = 1
# 统计入度
if edge[1] in degrees:
degrees[edge[1]] += 1
else:
degrees[edge[1]] = 1
# 输出节点的度
print(degrees)
```
输出结果:
```
{1: 2, 2: 3, 3: 3, 4: 2}
```
解释:
节点1有两条边,度为2;节点2有三条边,度为3;节点3有三条边,度为3;节点4有两条边,度为2。
相关问题
节点的度的计算 节点的度为连接该节点的边的数量之和,即¬d_i=d_i^out+d_i^in 。 创建一个字典,用来存储各个节点的计算结果 遍历数据集,开始循环 进行数据的处理,初始化变量 进行判断如果变量没有在字典中,则初始化为0 在字典中则让这个节点的值加1 打印字典,输出结果,在控制台观察结果是否正确
。以下是Python代码实现:
```python
# 初始化数据集
data = [(1, 2), (1, 3), (2, 3), (2, 4), (3, 4), (4, 1)]
# 创建字典
degree_dict = {}
# 遍历数据集
for edge in data:
# 初始化节点的度
if edge[0] not in degree_dict:
degree_dict[edge[0]] = 0
if edge[1] not in degree_dict:
degree_dict[edge[1]] = 0
# 计算节点的度
degree_dict[edge[0]] += 1
degree_dict[edge[1]] += 1
# 输出结果
print(degree_dict)
```
输出结果为:
```
{1: 3, 2: 3, 3: 3, 4: 3}
```
说明节点1、2、3、4的度均为3,符合预期。
void G_Average_Pulse(void)/*ÓÃÓÚÈ¡rpmµÄƽ¾ùÖµ£¬ÒÔÎȶ¨*/ { get_ave_all+=rpm; a=front%Pulse_array_max; get_ave_all-=pulse_arr[a]; rear++; b=rear%Pulse_array_max; pulse_arr[b]=rpm; if(rear<Pulse_array_max) { front--; } front++; rpm_ave=get_ave_all/Pulse_array_max; }优化代码
下面是对代码的优化:
```c
#define PULSE_ARRAY_MAX 10 // 宏定义脉冲数组的最大长度
int pulse_arr[PULSE_ARRAY_MAX]; // 脉冲数组
int front = 0; // 队首指针
int rear = 0; // 队尾指针
int get_ave_all = 0; // 脉冲数组所有元素之和
// 计算脉冲数组的平均值
void G_Average_Pulse(void)
{
get_ave_all += rpm; // 将新的脉冲值加入到脉冲数组的总和中
get_ave_all -= pulse_arr[front]; // 将最早的脉冲值从脉冲数组的总和中减去
pulse_arr[rear] = rpm; // 将新的脉冲值加入到脉冲数组中
rear = (rear + 1) % PULSE_ARRAY_MAX; // 将队尾指针向后移动一位
if (rear == front) // 判断队列是否已满
{
front = (front + 1) % PULSE_ARRAY_MAX; // 将队首指针向后移动一位
}
rpm_ave = get_ave_all / PULSE_ARRAY_MAX; // 计算脉冲数组的平均值
}
```
优化后的代码使用了宏定义,使得代码更加易读易维护。同时,使用了取模运算,将队头和队尾指针的计算封装为一个公式,简化了代码。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)