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

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

图的定义

大佬讲解

无向图的度

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

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 分钟前
C++ list 原理与实践:双向链表、迭代器与简化实现
开发语言·c++·后端·学习·算法·链表·list
ttod_qzstudio1 小时前
【软考算法】软件设计师下午第四题之动态规划:0-1 背包与最长公共子序列的“填表艺术“
算法·动态规划·软考
柒和远方1 小时前
LeetCode 139. 单词拆分 —— 从暴力回溯到 DP 完全背包
javascript·python·算法
岑梓铭2 小时前
《考研408数据结构》第六章(6.3 图的遍历)复习笔记
数据结构·笔记·考研··拓扑排序·408
he_wen_jian2 小时前
【无标题】
笔记
从零开始的代码生活_2 小时前
C++ stack、queue 与 priority_queue:容器适配器原理与实战
开发语言·c++·后端·学习·算法
晚笙coding2 小时前
LeetCode 226. 翻转二叉树(Invert Binary Tree)
算法·leetcode·职场和发展
2zcode2 小时前
项目文档:基于MATLAB低采样率ISAR成像的快速稀疏重建算法研究
开发语言·算法·matlab
灵性(๑>ڡ<)☆3 小时前
Java学习笔记--面向对象高级(多态)
笔记·学习
哈里沃克3 小时前
编译与链接 - 02
算法