手写邻接表 BFS


 

#include <iostream>
#include <queue>
using namespace std;const int maxn = 100000;
const int maxm = 300000;
struct Graph {int NE , NV;int head[maxn];struct Node{int next , v;Node(){}Node(int a,int b):v(a) , next(b){}}E[maxm];void clear(int n) {NV = n;NE = 0;memset(head,-1,sizeof(int)*n);}inline void Insert(int u,int v) {E[NE] = Node(v , head[u]);head[u] = NE ++;}void Print() {for(int i = 0 ; i < NV ; i ++) {printf("%d:",i);for(int j = head[i]; j != -1; j = E[j].next){printf(" %d",E[j].v);}puts("");}}
}G;int n, m, ctr;
int visit[maxn]; void BFS(int cur) {queue<int> Q;Q.push(cur);visit[cur] = 1;while( !Q.empty() ){for(int i = G.head[Q.front()]; i != -1; i = G.E[i].next ){if(!visit[G.E[i].v]){visit[G.E[i].v] = 1;Q.push(G.E[i].v);ctr++;if(ctr >= n - 1) printf("%d为根节点\n", cur);}}Q.pop();}
}int main(){cin >> n;//读入顶点数 G.clear(n);cin >> m;//读入边数int begin, end;for(int i = 0; i < m; ++i) {scanf("%d %d", &begin, &end);G.Insert(begin, end);}//遍历图 输出根节点for(int i = 0; i < n; ++i){memset(visit, 0, sizeof(visit));ctr = 0;BFS(i);}return 0;
}

转载于:https://www.cnblogs.com/snake-hand/archive/2013/06/07/3125130.html

图的根节点-数据结构作业。。相关推荐

  1. 数据结构作业之输出树的每一条从根节点到叶节点的路径

    数据结构作业,输出树的每一条从根节点到叶节点的路径 #include <stdio.h> #include <stdlib.h> typedef struct tree {ch ...

  2. 数据结构-树:根节点、子节点、叶子节点是什么?

    前言:这个属于数据结构:树. 下面给个例子图解释(根节点.子节点.叶子节点). 上图数字 1.3.7是叶子节点:(因为他们下面没有分叉出子节点,所以称为:叶子节点)[度为0] 数字2.8是子节点: ( ...

  3. 数据结构——从叶子结点到根节点的全部路径

    问题 给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/prob ...

  4. 数据结构----二叉树叶子结点到根节点的高度计算

    数据结构----二叉树叶子结点到根节点的高度计算 代码: #include<stdio.h> #include<stdlib.h> typedef struct bstTree ...

  5. 倾斜模型节点太多加载慢,图新地球、ContextCapture、Wish3DEarth三种合并根节点的方式让速度起飞

    序: 无人机航测门槛越来越低,测绘人员接触到倾斜模型数据越来越简单.实际应用,都想快速看到数据. 问题随之而来,一份数据上千个根节点,CCViewer打开就需要几分钟.加载速度慢,电脑内存占用高. 常 ...

  6. 常考数据结构与算法----给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径,

    题目描述 给定一个二叉树和一个值sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径, 例如: 给出如下的二叉树,sum=22, 返回 [ [5,4,11,2], [5,8,9] ] 示 ...

  7. 【数据结构与算法】之深入解析“求根节点到叶节点数字之和”的求解思路与算法示例

    一.题目要求 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字. 每条从根节点到叶节点的路径都代表一个数字:例如,从根节点到叶节点的路径 1 -> 2 -&g ...

  8. 二叉树节点数据结构-练习 5 二叉树的建立 遍历

    PS:今天上午,非常郁闷,有很多简略基础的问题搞得我有些迷茫,哎,代码几天不写就忘.目前又不当COO,还是得用心记代码哦! 二叉树是数据结构的最主要的内容之一,之所以引入二叉树,是因为精良的数据结构非 ...

  9. avl删除根节点图解_图解 6 种树,你心中有数吗。。。

    数据结构这门课程是计算机相关专业的基础课,数据结构指的是数据在计算机中的存储.组织方式. 我们在学习数据结构时候,会遇到各种各样的基础数据结构,比如堆栈.队列.数组.链表.树...这些基本的数据结构类 ...

最新文章

  1. Python 数据类型:列表
  2. 使用 Xtrabackup 在线对MySQL做主从复制
  3. DL之模型调参:深度学习算法模型优化参数之对深度学习模型的超参数采用网格搜索进行模型调优(建议收藏)
  4. [转]mpvue中的小程序调用系统自带查看图片的功能
  5. html label修改字体颜色,Swift label文字显示不同颜色(字体)
  6. mxnet创建新的操作(层)
  7. FD.io VPP配置文件详解
  8. 基于JAVA+SpringMVC+MYSQL的宿舍管理系统
  9. Jqurey 得到url参数 getUrlParam
  10. 智能优化算法:供需优化算法-附代码
  11. 【百度地图API】建立全国银行位置查询系统(一)——如何创建地图
  12. Mybatis复杂结果集映射(详细)
  13. 爬虫爬取全国地名的中文和拼音
  14. 这些好用的抠图软件,助你实现一键抠图
  15. sop流程图模板_SOP模板-标准操作流程编写程序.doc
  16. MapReduce实操5-1数据预处理——巴西利亚历史气温数据分析
  17. mysql当周过生日的人_已知出生年月日,如何查询出本周过生日的人员?
  18. 职场技巧:内向者如何修炼成社交达人
  19. 欧拉函数、费马定理、欧拉定理
  20. 5年市值蒸发2000多亿 绿地控股二次混改能否迎来春天?

热门文章

  1. npm教程:使用nrm切换镜像源
  2. Linux执行shell脚本的四种方式
  3. Spring在web开发中的应用
  4. 计算机造句英语怎么说,计算的英文翻译是什么及如何造句
  5. 第2章 信号、接口和引脚(XIlinx ZYNQ-7000 SOC UG-585文档)
  6. MySQL五大约束详解(我有多详细只有我知道小白都能懂哦)
  7. Vue项目报错记录解决Property or method “item“ is not defined on the instance
  8. 集合-1(Collection、迭代器、Collections、泛型)
  9. 批处理命令 / rd 和 del
  10. Ubuntu 安装简单samba