数据结构之实现无向图的广度优先搜索算法

2023-11-15

#include <iostream>


using namespace std;


struct LinkNode
{
int data;
LinkNode *next;
};


struct LinkQueue
{
LinkNode *front;
LinkNode *rear;
};


void init(LinkQueue *&Q)
{
Q=new LinkQueue;
Q->front=new LinkNode;
Q->front->next=0;
Q->rear=Q->front;
}


bool isEmpty(LinkQueue *Q)
{
return Q->rear==Q->front;
}


bool isNotEmpty(LinkQueue *Q)
{
return Q->rear!=Q->front;
}


void push(LinkQueue *&Q,int e)
{
LinkNode *p=new LinkNode;
p->data=e;
p->next=0;
Q->rear->next=p;
Q->rear=p;
}


int pop(LinkQueue *&Q)
{
if(isNotEmpty(Q))
{
LinkNode *p=Q->front->next;
int d=p->data;
Q->front->next=p->next;
if(Q->rear==p)
Q->rear=Q->front;
delete p;
return d;
}
}


const int n=5;


int G[n][n]={ {0,1,0,1,0},
  {1,0,1,0,1},
  {0,1,0,1,1},
  {1,0,1,0,0},
  {0,1,1,0,0}, };


int visited[n];


void init()
{
for(int v=1;v<=n;v++)
visited[v]=0;
}


void BFS(LinkQueue *&Q,int v)
{
visited[v]=1;
push(Q,v);
while(isNotEmpty(Q))
{
v=pop(Q);
cout<<"v"<<v+1<<endl;
for(int w=0;w<n;w++)
{
if(G[v][w] && (!visited[w]))
{
visited[w]=1;
push(Q,w);
}
}
}
}


int main()
{
LinkQueue *Q;
init(Q);

init();

BFS(Q,0);

return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据结构之实现无向图的广度优先搜索算法 的相关文章

  • AIX下打tar包及压缩

    AIX下打tar包及压缩为gz格式 1 打tar包 tar cvf XXX XX tar XXX XX ls 下发现多了XXX XX tar文件 2 压缩为gz格式 gzip XXX XX tar ls 发现XXX XX tar变成了XXX
  • android 点击查看大图

    转载自 https www cnblogs com yoyohong p 7264946 html 仅供参考 1 使用方式 Intent intent new Intent FriendCircleActivity this ImageGr
  • Linux中的各种符号,*,$,-,--?

    点 隐藏文件 一个点 指向当前目录 两个点 指向当前目录的上级目录 相对路径的写法 说明是一个变量 PATH linux环境变量 通配符 当前用户的家目录 每个用户的家目录是不同的 root用户的家目录在系统根目录下 其他用户的家目录在 h
  • Power bi 4.6 聚类图

    关注微信公共号 小程在线 关注CSDN博客 程志伟的博客 数据集链接见微信公共号底端 1 在Power BI中导入可视化效果 点击 选择导入自定义视觉对象 点击导入 2 选择我们需要导入的视觉对象 3 在可视化就会出现新的图形 4 导入 D
  • A Tour of Computer Systems

    1 1 Information is Bits Context All information in a system is represented as a bunch of bits The only thing that distin
  • 图片从base64编码转换为jpg文件

    1 使用网站 注意在base64编码前加上 data image png base64 http tool chinaz com tools imgtobase 2 转换的代码 package com test import java io
  • 牛逼!Windows竟然也能运行QEMU虚拟机!

    这些天研究 Miracast 又倒腾了开发用的虚拟机 但是发现了新的东西就是 QEMU 全宇宙最强的硬件模拟器 原来这玩意可以在Windows上跑虚拟机的 环境部署 msys2 mingw w64 qemu 系统iso Hyper V 代替
  • linux排序文件命令,Linux文件排序工具 sort 命令详解

    本文目录 1 1 选项说明 1 2 sort示例 1 3 深入研究sort sort是排序工具 它完美贯彻了Unix哲学 只做一件事 并做到完美 它的排序功能极强 极完整 只要文件中的数据足够规则 它几乎可以排出所有想要的排序结果 是一个非
  • (七) carla真实世界坐标系与全局俯视地图像素坐标系变换

    七 carla真实世界坐标系与全局俯视地图像素坐标系变换 问题陈述 下图为 c a r l a carla carla 中 T
  • 常见排序算法之归并排序——归并排序

    哈喽大家好 我是保护小周 本期为大家带来的是常见排序算法中的归并排序 博主在这里先分享归并排序的递归算法 包您一看就会 快来试试吧 目录 一 归并排序 1 1 基本思想 1 2 算法思想 1 3 程序设计思想 1 4 程序实现 1 5 归并
  • SQL日期函数

    一 知识点 在SQL中 由于不能直接执行算术函数 所以日期函数在SQL就十分有用 日期函数拥有多个方法 每个方法都可以对日期进行查改或计算 比如 GETDATE 方法 获取当前的系统日期 DATEADD 日期部分 number date 返
  • nexus(Maven仓库私服)的安装、配置、使用和仓库迁移

    简介 Nexus下载 点击进入 Nexus 是Maven仓库管理器 如果你使用Maven 你可以从Maven中央仓库 下载所需要的构件 artifact 但这通常不是一个好的做法 你应该在本地架设一个Maven仓库服务器 在代理远程仓库的同
  • 利用labelme制作语义分割masks掩膜数据集

    1 labelme的安装 在terminal终端执行命令行操作 conda create n labelme python 3 6 创建labelme环境 activate labelme 激活labelme conda install p
  • 基于vivado实现FFT/IFFT

    文章目录 前言 一 基本过程 二 vivado配置 1 新建工程 2 调用DDS的IP核 2 调用FFT的IP核 三 编写Verilog程序 1 顶层文件fft v 2 仿真文件fft tb v 四 运行仿真 1 运行仿真设置 2 仿真波形
  • 二叉树的性质

    二叉树的性质以及满二叉树 完全二叉树 性质一 在二叉树的第i层 最多有2的 i 1 次方个结点i gt 1 性质二 深度为k的二叉树上最多有含有2的k次方 1个结点 k gt 1 性质三 对于任何一个二叉树 若它含有n0个叶子结点 n2个度
  • Spring Bean自动装配的简介

    转自 Spring Bean自动装配的简介说明 Spring Bean装配为依赖关系注入 Spring Bean装配方式称之为 Spring Bean依赖注入方式Spring Bean容器拥有多种装配Bean方式 如 使用XML 装配Bea
  • 数据科学—K均值算法实践

    K均值算法实践 问题描述 目标 数据集 分析 算法阐述 代码实现 结果 问题描述 现在有一组数据 需要通过聚类方法发掘其内在结构 目标 对数据进行聚类分析 将数据分为四类 k 4 数据集 clusterdata txt存储待聚类数据 共包含
  • jQuery操作CheckBox的方法(选中,取消,取值)详解

  • 通讯协议024——全网独有的OPC AE知识四之接口(八)

    本文简单介绍OPC AE规范的IOPCEventAreaBrowser接口的相关知识 更多通信资源请登录网信智汇 wangxinzhihui com OPC AE规范描述了OPC事件服务器应该实现的对象和接口 实现在多个OPC客户端间共享事
  • 2.5.6 共享分区CPU分配

    最后更新2021 07 27 共享分区CPU分配这个动作是系统Hypervisor自动完成的 我们只能通过HMC定义规则 但不能直接干预 CPU分配受几个限定参数影响 分别是Physical Processor 物理CPU 分配数量 Vir

随机推荐

  • Spring MVC视图解析器简介说明

    转自 Spring MVC视图解析器简介说明 Spring MVC视图解析器简介说明 下文讲述 Spring MVC视图 的相关说明 如下所示 Spring 视图解析器 Spring视图解析器用于对Spring中的视图进行解析 如下配置所示
  • 大话西游详细解读

    其实要理清 大话西游 的脉络 只要弄清楚命运对至尊宝的安排 和他面对命运和爱情的心路历程就够了 如果再理一下紫霞和白晶晶的故事 大话西游 的故事就纤毫毕现了 如下 至尊宝的故事 无奈的命运与无望的爱至尊宝原来是家在五岳山第四编101号B1的
  • 2023年IT行业就业前景分析,准职场人必看!

    随着疫情的放开 2022已接近尾声 新的一年即将来临 作为打工人最关心的肯定是2023年的就业市场以及行业未来发展前景 如何最直观地看待这个行业是否还有前景 最好的方式就是看市场需求 作为准职场人的你 速速关注起来 根据智联招聘10月发布的
  • 学习笔记——JDBC

    初识JDBC 文章目录 初识JDBC 一 JDBC是什么 二 使用步骤 1 JDBC开发前的准备工作 1 1 下载对应驱动的jar包 1 2 针对文本编辑器的方式开发的配置 1 3针对编译软件 例如IDEA开发的配置 2 JDBC编程 2
  • 立创梁山派GD32F450ZGT6--屏幕扩展板LVGL应用

    该文章工程是基于裸机情况下运行的LVGL 通过GUI Guider 1 4 0进行页面布局配置 一 介绍 GUI Guider是恩智浦为LVGL开发了一个上位机GUI设计工具 可以通过拖放控件的方式设计LVGL GUI页面 加速GUI的设计
  • 大语言模型之十-Byte Pair Encoding

    Tokenizer 诸如GPT 3 4以及LlaMA LlaMA2大语言模型都采用了token的作为模型的输入输出 其输入是文本 然后将文本转为token 正整数 然后从一串token 对应于文本 预测下一个token 进入OpenAI官网
  • 攻防世界 Morse writeup

    题目 三 题型 crypto 题目 Morse 来源 攻防世界 https adworld xctf org cn challenges list 思路 直接利用摩斯密码进行解密 具体步骤 Step1 根据题目猜测是摩斯密码 Step2 将
  • 2019最近计算机毕业设计-题目汇总大全-系列5

    javaweb python爱好者 如果对以下项目感兴趣可以邮箱 cswork2019 163 com 与我沟通交流 课题名称 备注 区块链交易信息的获取与可视化分析 基于2D物理引擎 液体 的H5小游戏 基于Cocos2D的微信小游戏的设
  • 高校圆桌派第三期话题征集强势来袭~

    高校圆桌派 话题风暴等你来 即日起参与 高校圆桌派 活动 就有机会获得CSDN高校圆桌大礼包和CSDN周边礼品免费包邮送到家 高校圆桌派第二期话题征集结果公示 1 刚毕业的程序员有必要执着于进入大厂吗 小厂和大厂怎么选择 2 新能源汽车行业
  • 最简单的获取安卓应用sha1值的方法

    每个安卓应用都有一个签名证书 签名证书可以由jdk生成 当证书生成后 证书就有其sha1值 md5值和sha256值 使用此证书打包后的apk 也有其一样的sha1值 md5值和sha256值 有两种方法可以获取sha1值 1 解压apk
  • 百度:度度熊有一个N个数的数组,他想将数组从大到小排好序...

    度度熊有一个N个数的数组 他想将数组从大到小排好序 但是萌萌的度度熊只会下面这个操作 任取数组中的一个数然后将它放置在数组的最后一个位置 问最少操作多少次可以使得数组从小到大有序 输入描述 首先输入一个正整数N 接下来的一行输入N个整数 N
  • 缤纷多彩的404页面(404.html)

    文章来源 https www skyqian com archives 404 Pages html 一般而言 第一时间会在博客更新 CSDN随缘更新 引言 别离滋味浓于酒 著人瘦 此情不及墙东柳 春色年年如旧 勿埋我心 404是个很常见的
  • Redis以及Jedis的GEO地图功能

    Redis以及Jedis的GEO地图功能 引言 redis是一个高性能的非关系型数据库 作为一个单线程的应用程序 速度非常快 并且不存在多线程情况下的共同资源访问锁的问题 PS 太久没有写文章 老脸一红 今日记录一下Redis的地图坐标功能
  • uthash

    在软件开发中 不可不免的会使用到hash表 hash表的优点这里就不说了 以下介绍一个hash表的C实现 uthash是用宏实现的 使用的时候非常方便 只用包含uthash h即可 Uthash的三个数据结构 1 typedef struc
  • php加密自定义版权,分享几种好用的PHP自定义加密函数(可逆/不可逆)

    项目中有时我们需要使用PHP将特定的信息进行加密 也就是通过加密算法生成一个加密字符串 这些加密后的字符串可以通过解密算法进行解密 便于程序对解密后的信息进行处理 最常见的应用在用户登录以及一些API数据交换的场景 最常见的应用在用户登录以
  • 计算机网络——拥塞控制(1)

    1 拥塞 congestion 当过多的包在网络缓冲区中竞争某个相同链路时 队列会溢出丢包 当这种丢包成为普通事件时 则称网络发生拥塞 简单概述就是对聚合带宽的需求超过了链路的可用容量 1 1 产生原因 宏观原因 网络资源分布不均匀 流量分
  • postman报错:There was an error in evaluating the test script: JSONError: Unexpected token 'n' at 1:15

    1 There was an error in evaluating the test script JSONError Unexpected token n at 1 15 20200509150938nZ5W 原因 格式错误 获取返回数
  • git tag 打标签常用命令

    git tag 查看标签列表 git tag a V1 6 5 m 新增了OCV等 打标签 git show V1 6 5 查看标签详细 git push origin V1 6 5 推送到远程仓库 git tag d V1 6 5 删除标
  • PGP软件的使用实验报告

    PGP软件的使用 一 实验目的 二 实验环境 三 实验原理 四 实验步骤及结果 五 实验总结 一 实验目的 1 通过认识PGP加密过程 加深对加密理论的理解 2 学会使用PGP软件对文件和电子邮件加密 二 实验环境 PC机至少2台 组建成局
  • 数据结构之实现无向图的广度优先搜索算法

    include