算法笔记-第十章-图的定义和相关术语

算法笔记-第十章-图的定义和相关术语

图的定义

大佬讲解

无向图的度

图中每一个顶点的度定义为以该项点为一个端点的边的数目

dart 复制代码
#include <cstdio>

const int MAXN = 100;

int degree[MAXN] = { 0 };

int main() {
    int n, m, u, v;
    scanf("%d%d", &n, &m);

    //在输出边度的时候就已经表示度的数目了,所以用一个degree(hash思想进行直接 )    
    for (int j = 0; j < m; j++) {    
        scanf("%d%d", &u, &v);    
        degree[u]++;    
        degree[v]++;    
    }
    for (int i = 0; i < n; i++) {    
        printf("%d", degree[i]);    
        if (i < n - 1) {    
            printf(" ");    
        }
    }
    return 0;    
}

有向图的度

dart 复制代码
//有向图的入度数和出度数
#include <cstdio>

const int MAXN = 100;
int inDegree[MAXN] = { 0 };//入度的条数
int outDegree[MAXN] = { 0 };//出度的条数

int main() {
    int n, m, u, v;
    scanf("%d%d", &n, &m);//n个顶点,m条边
    for (int j = 0; j < m; j++) {
        scanf("%d%d", &u, &v);
        outDegree[u]++;
        inDegree[v]++;
    }
    for (int i = 0; i < n; i++) {
        printf("%d %d\n", inDegree[i], outDegree[i]);
    }
    return 0;
}
相关推荐
随意起个昵称2 小时前
线性dp-计数类题目10(ZBRKA)
算法·动态规划
Navigator_Z7 小时前
LeetCode //C - 1089. Duplicate Zeros
c语言·算法·leetcode
sulikey9 小时前
个人Linux操作系统学习笔记6 - 操作系统与进程初识
linux·笔记·学习·操作系统·进程
云泽80810 小时前
C++ 可调用对象通关指南:深度解析 Lambda 表达式、function 包装器与 bind 绑定器
开发语言·c++·算法
XGeFei10 小时前
【Fastapi学习笔记(3)】——资源的层级关系、安全性-幂等性、Field、工厂函数
笔记·学习·fastapi
wlsh1510 小时前
Go 迭代器
算法
语戚11 小时前
力扣 3161. 块放置查询:线段树解法(Java 实现)
java·算法·leetcode·面试·线段树·力扣·
CS创新实验室11 小时前
从顺序表到动态数组:数据结构的永恒基石与现代语言的优雅封装
数据结构·算法
星恒随风12 小时前
Python 基础语法详解(一):从表达式、变量到数据类型
开发语言·笔记·python·学习
Black蜡笔小新12 小时前
自动化AI算法训练服务器DLTM训推一体化平台助力农业生产管理实现安全智能化
人工智能·算法·自动化