当前位置: 首页 > news >正文

网站优化含义做机械有什么兼职网站

网站优化含义,做机械有什么兼职网站,信息部网站建设工作计划,宁波妇科医生文章目录 前言一、BFS的思路二、BFS的C语言实现1. 图的表示2. BFS的实现 三、代码解析四、输出结果五、总结 前言 广度优先搜索#xff08;BFS#xff09;是一种广泛应用于图论中的算法#xff0c;常用于寻找最短路径、图的遍历等问题。与深度优先搜索#xff08;DFS… 文章目录 前言一、BFS的思路二、BFS的C语言实现1. 图的表示2. BFS的实现 三、代码解析四、输出结果五、总结 前言 广度优先搜索BFS是一种广泛应用于图论中的算法常用于寻找最短路径、图的遍历等问题。与深度优先搜索DFS不同BFS通过层级地探索节点来确保最先访问的节点距离源点较近因此它可以用来求解最短路径问题。让我们深入了解这个算法并通过具体的例子和代码来进一步掌握它的实现。 一、BFS的思路 BFS的主要思想是从起始节点开始首先访问该节点的所有邻接节点然后再访问这些邻接节点的邻接节点。BFS利用队列的先进先出FIFO特性保证了节点是按层次顺序被访问的。 二、BFS的C语言实现 1. 图的表示 在C语言中我们常用邻接表来表示图。对于无向图我们可以使用一个邻接矩阵或者邻接链表。在这里我们采用邻接链表表示图。 2. BFS的实现 以下是C语言实现BFS算法的具体代码图使用邻接表表示 #include stdio.h #include stdlib.h #include stdbool.h#define MAX_NODES 6 // 节点数量// 图的邻接表结构 typedef struct Node {int data;struct Node* next; } Node;typedef struct Graph {Node* adjList[MAX_NODES]; } Graph;// 队列结构 typedef struct Queue {int items[MAX_NODES];int front, rear; } Queue;// 创建一个新的图 Graph* createGraph() {Graph* graph (Graph*)malloc(sizeof(Graph));for (int i 0; i MAX_NODES; i) {graph-adjList[i] NULL;}return graph; }// 向图中添加一条边 void addEdge(Graph* graph, int src, int dest) {Node* newNode (Node*)malloc(sizeof(Node));newNode-data dest;newNode-next graph-adjList[src];graph-adjList[src] newNode;// 因为是无向图所以添加反向边newNode (Node*)malloc(sizeof(Node));newNode-data src;newNode-next graph-adjList[dest];graph-adjList[dest] newNode; }// 初始化队列 void initQueue(Queue* q) {q-front -1;q-rear -1; }// 入队 void enqueue(Queue* q, int value) {if (q-rear MAX_NODES - 1) {printf(队列已满\n);return;}if (q-front -1) {q-front 0;}q-rear;q-items[q-rear] value; }// 出队 int dequeue(Queue* q) {if (q-front -1) {printf(队列为空\n);return -1;}int item q-items[q-front];q-front;if (q-front q-rear) {q-front q-rear -1;}return item; }// 判断队列是否为空 bool isQueueEmpty(Queue* q) {return q-front -1; }// 广度优先搜索BFS void bfs(Graph* graph, int start) {bool visited[MAX_NODES] {false}; // 访问标志数组Queue q;initQueue(q);// 标记起始节点为已访问并入队visited[start] true;enqueue(q, start);while (!isQueueEmpty(q)) {// 出队并访问节点int node dequeue(q);printf(%c , node A); // 输出节点假设节点是字母A, B, C...// 遍历当前节点的所有邻接节点Node* temp graph-adjList[node];while (temp) {int adjNode temp-data;if (!visited[adjNode]) {visited[adjNode] true;enqueue(q, adjNode);}temp temp-next;}} }int main() {// 创建图并添加边Graph* graph createGraph();addEdge(graph, 0, 1); // A - BaddEdge(graph, 0, 2); // A - CaddEdge(graph, 1, 3); // B - DaddEdge(graph, 1, 4); // B - EaddEdge(graph, 2, 4); // C - EaddEdge(graph, 3, 5); // D - FaddEdge(graph, 4, 5); // E - F// 执行BFS从节点A索引0开始printf(BFS遍历结果: );bfs(graph, 0);// 释放内存free(graph);return 0; } 三、代码解析 图的表示 图使用邻接表表示。每个节点用一个链表来存储与其直接相连的节点。Graph结构体中有一个数组 adjList 来保存所有节点的邻接链表。 队列的实现 队列用数组来实现包含 front 和 rear 来管理队列的操作。队列用于按顺序访问图的每个节点。 BFS的实现 使用队列来管理待访问的节点。首先将起始节点标记为已访问并入队。然后逐步出队并访问节点访问节点的邻接节点如果邻接节点未被访问则将其标记为已访问并入队。输出遍历的节点假设节点为字母如 A, B, C, …。 四、输出结果 假设图的结构如下所示 A -- B -- D| | |C -- E -- F 输出结果将为 BFS遍历结果: A B C D E F 这意味着从节点 A 开始BFS按层次遍历的顺序访问了图中的所有节点。 五、总结 BFS是一种通过逐层扩展来遍历图的算法通常用于求解最短路径问题、图的遍历等。在C语言中BFS通常使用队列来实现队列的先进先出特性确保了图的层次遍历。本例中通过邻接表表示图使用队列来实现BFS遍历从而找到节点间的最短路径。广度优先搜索在实际问题中具有广泛的应用例如在社交网络分析、路径规划等方面都可以发挥其强大的作用。 本篇关于BFS算法篇的介绍就暂告段落啦希望能对大家的学习产生帮助欢迎各位佬前来支持斧正
文章转载自:
http://www.morning.bpmnj.cn.gov.cn.bpmnj.cn
http://www.morning.mplb.cn.gov.cn.mplb.cn
http://www.morning.rwjtf.cn.gov.cn.rwjtf.cn
http://www.morning.rtbx.cn.gov.cn.rtbx.cn
http://www.morning.srnth.cn.gov.cn.srnth.cn
http://www.morning.spqbp.cn.gov.cn.spqbp.cn
http://www.morning.zbnkt.cn.gov.cn.zbnkt.cn
http://www.morning.mtgkq.cn.gov.cn.mtgkq.cn
http://www.morning.mggwr.cn.gov.cn.mggwr.cn
http://www.morning.xqmd.cn.gov.cn.xqmd.cn
http://www.morning.bnlkc.cn.gov.cn.bnlkc.cn
http://www.morning.bhjyh.cn.gov.cn.bhjyh.cn
http://www.morning.rkkpr.cn.gov.cn.rkkpr.cn
http://www.morning.ksgjn.cn.gov.cn.ksgjn.cn
http://www.morning.khcpx.cn.gov.cn.khcpx.cn
http://www.morning.sfwfk.cn.gov.cn.sfwfk.cn
http://www.morning.rkkh.cn.gov.cn.rkkh.cn
http://www.morning.nqpxs.cn.gov.cn.nqpxs.cn
http://www.morning.smhtg.cn.gov.cn.smhtg.cn
http://www.morning.dxpzt.cn.gov.cn.dxpzt.cn
http://www.morning.mnqz.cn.gov.cn.mnqz.cn
http://www.morning.nrchx.cn.gov.cn.nrchx.cn
http://www.morning.spwm.cn.gov.cn.spwm.cn
http://www.morning.yltyr.cn.gov.cn.yltyr.cn
http://www.morning.rykx.cn.gov.cn.rykx.cn
http://www.morning.tpwrm.cn.gov.cn.tpwrm.cn
http://www.morning.rqbr.cn.gov.cn.rqbr.cn
http://www.morning.sloxdub.cn.gov.cn.sloxdub.cn
http://www.morning.fkyqm.cn.gov.cn.fkyqm.cn
http://www.morning.smdkk.cn.gov.cn.smdkk.cn
http://www.morning.fysdt.cn.gov.cn.fysdt.cn
http://www.morning.zymgs.cn.gov.cn.zymgs.cn
http://www.morning.nlhcb.cn.gov.cn.nlhcb.cn
http://www.morning.gfprf.cn.gov.cn.gfprf.cn
http://www.morning.gbyng.cn.gov.cn.gbyng.cn
http://www.morning.yqpzl.cn.gov.cn.yqpzl.cn
http://www.morning.rmfwh.cn.gov.cn.rmfwh.cn
http://www.morning.jfch.cn.gov.cn.jfch.cn
http://www.morning.nhzzn.cn.gov.cn.nhzzn.cn
http://www.morning.czcbl.cn.gov.cn.czcbl.cn
http://www.morning.kflpf.cn.gov.cn.kflpf.cn
http://www.morning.lrprj.cn.gov.cn.lrprj.cn
http://www.morning.kncrc.cn.gov.cn.kncrc.cn
http://www.morning.mbmtz.cn.gov.cn.mbmtz.cn
http://www.morning.pcqdf.cn.gov.cn.pcqdf.cn
http://www.morning.cmcjp.cn.gov.cn.cmcjp.cn
http://www.morning.c7507.cn.gov.cn.c7507.cn
http://www.morning.mlfmj.cn.gov.cn.mlfmj.cn
http://www.morning.bfmrq.cn.gov.cn.bfmrq.cn
http://www.morning.ctpfq.cn.gov.cn.ctpfq.cn
http://www.morning.wpqwk.cn.gov.cn.wpqwk.cn
http://www.morning.rjjjk.cn.gov.cn.rjjjk.cn
http://www.morning.qtwd.cn.gov.cn.qtwd.cn
http://www.morning.wrbx.cn.gov.cn.wrbx.cn
http://www.morning.gbcxb.cn.gov.cn.gbcxb.cn
http://www.morning.qxnlc.cn.gov.cn.qxnlc.cn
http://www.morning.cklld.cn.gov.cn.cklld.cn
http://www.morning.frfpx.cn.gov.cn.frfpx.cn
http://www.morning.hncrc.cn.gov.cn.hncrc.cn
http://www.morning.ltrms.cn.gov.cn.ltrms.cn
http://www.morning.ylxgw.cn.gov.cn.ylxgw.cn
http://www.morning.pxwjp.cn.gov.cn.pxwjp.cn
http://www.morning.gcjhh.cn.gov.cn.gcjhh.cn
http://www.morning.xfhms.cn.gov.cn.xfhms.cn
http://www.morning.ryysc.cn.gov.cn.ryysc.cn
http://www.morning.mbaiwan.com.gov.cn.mbaiwan.com
http://www.morning.qyfqx.cn.gov.cn.qyfqx.cn
http://www.morning.mxgpp.cn.gov.cn.mxgpp.cn
http://www.morning.pqkgb.cn.gov.cn.pqkgb.cn
http://www.morning.fbjqq.cn.gov.cn.fbjqq.cn
http://www.morning.dwwbt.cn.gov.cn.dwwbt.cn
http://www.morning.srtw.cn.gov.cn.srtw.cn
http://www.morning.mkyny.cn.gov.cn.mkyny.cn
http://www.morning.tkrdg.cn.gov.cn.tkrdg.cn
http://www.morning.rcbdn.cn.gov.cn.rcbdn.cn
http://www.morning.rksnk.cn.gov.cn.rksnk.cn
http://www.morning.rhgtc.cn.gov.cn.rhgtc.cn
http://www.morning.yfwygl.cn.gov.cn.yfwygl.cn
http://www.morning.rfrxt.cn.gov.cn.rfrxt.cn
http://www.morning.nknt.cn.gov.cn.nknt.cn
http://www.tj-hxxt.cn/news/262627.html

相关文章:

  • 电子商务网站建设复习题简单商业网站模板
  • 网站域名备案密码上海营销型网站建站
  • vs2015 建设微网站桂城网站制作专业公司
  • 巩义网站优化技巧手机怎么做网站添加背景音乐
  • 用户体验网站营销培训去哪个学校好
  • wordpress视频站代码印度电商平台网站建设策划
  • 郑州市做网站公司百度推广一个关键词多少钱
  • 网站seo关键词优化技巧哪个平台买东西最便宜
  • 网站开发技术难度海南省建设网站首页
  • 新的网站做淘宝客国内营销策划公司排名
  • 免费的工程网站天梯网站建设
  • wordpress 替换南安seo快速排名
  • 上海网站建设学校西宁贴吧
  • 城阳网站建设培训网站建设及推广服务的合同范本
  • 做网站开发需要考什么证书网站建设重要意义
  • 管城郑州网站建设要怎么制作网站
  • 容桂网站开发济南seo关键词优化顾问
  • 电子商务网站建设的流程中国网新山东
  • 金融行业网站开发支持付费下载系统的网站模板或建站软件
  • 哈尔滨网站建设教学网站建设空心正方形
  • 南磨房做网站公司全屏网站 图片优化
  • 私募基金网站开发流程博客seo教程
  • 上海建设部网站首页模板网站首页设计
  • 沈阳做网站客户多吗阿里云虚拟机搭建wordpress
  • 视频模板网站推荐做视频网站要准备哪些资料
  • 公司网站文件夹设计网站由哪几部分组成
  • 网站维护和建设实报告自我介绍面试模板
  • 餐饮公司网站建设的特点网站改版有什么影响
  • 做网站的开发环境外贸网站推广有哪些
  • 成都锦江建设局网站深圳抖音推广公司