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

c++_csp-j算法 (2)

目录

BFS搜索(广度优先搜索)

讲解

BFS搜索算法原理

BFS搜索算法实现

BFS搜索算法的应用

例题(1)

P1032 [NOIP 2002 提高组] 字串变换

例题(2)

P1443 马的遍历


BFS搜索(广度优先搜索)

讲解

BFS搜索算法原理

广度优先搜索(BFS)算法是一种图的搜索算法,用于遍历图中的节点,并找到图中的路径。BFS算法从起始节点开始,逐层搜索直到找到目标节点,它以层级的方式搜索图,先搜索与起始节点直接相邻的节点,然后再搜索与这些节点相邻的节点,以此类推,直到找到目标节点或遍历完整个图。

BFS算法通常使用队列来实现,它先将起始节点入队,然后不断从队列中取出节点,访问这个节点,并将这个节点的邻接节点入队,直到队列为空。这样可以确保先访问距离起始节点近的节点,再访问距离起始节点远的节点,实现广度优先搜索。

BFS搜索算法实现

在C++中,我们可以用队列来实现BFS搜索算法。下面是一个简单的示例代码,展示了如何用队列实现BFS搜索算法:

#include <iostream>
#include <vector>
#include <queue>using namespace std;class Graph {
private:int V;vector<Node*> adjList;public:Graph(int v) : V(v) {adjList.resize(V, nullptr);}void addEdge(int src, int dest) {Node* newNode = new Node(dest);newNode->next = adjList[src];adjList[src] = newNode;newNode = new Node(src);newNode->next = adjList[dest];adjList[dest] = newNode;}void BFS(int v) {vector<bool> visited(V, false);queue<int> queue;visited[v] = true;queue.push(v);while (!queue.empty()) {v = queue.front();queue.pop();cout << v << " ";Node* temp = adjList[v];while (temp) {int adjNode = temp->val;if (!visited[adjNode]) {visited[adjNode] = true;queue.push(adjNode);}temp = temp->next;}}}
};int main() {Graph graph(5);graph.addEdge(0, 1);graph.addEdge(0, 4);graph.addEdge(1, 2);graph.addEdge(1, 3);graph.addEdge(1, 4);graph.ad

相关文章:

  • 使用vue2技术写了一个纯前端的静态网站商城-鲜花销售商城
  • 信息量、香农熵、交叉熵、KL散度总结
  • HSP代理Robocar POLI申请TRO冻结,涉及商标与版权
  • 深入剖析 HashMap:内部结构与性能优化
  • 6547网:2025年3月 Python编程等级考试一级真题试卷
  • 在RK3588上使用ZLMediaKit
  • 实现窗口函数
  • arkTs:使用setTimeout / setInterval 实现透明度切换的轮播图
  • 纯FPGA实现驱动AD9361配置的思路和实现之一 概述
  • 代码随想录打卡|Day21(复原ip地址、子集、子集2)
  • Unity游戏开发实战:从PlayerPrefs到JSON,精通游戏存档与加载机制
  • Python 跨平台系统资源监控实践
  • RS232实现主单从多通讯
  • 健身会员管理系统(ssh+jsp+mysql8.x)含运行文档
  • Python实现的智能商品推荐系统分享+核心代码
  • 基于SFC的windows修复程序,修复绝大部分系统损坏
  • 通过Xshell上传文件到Linux
  • OrbisGIS:基于Java开发的开源GIS软件
  • 大型旋转机械声信号分析处理与故障诊断模块SoundAgent
  • 软件架构分层策略对比及Go项目实践
  • 俄“联盟MS-26”载人飞船安全返回地球
  • 中国政府援缅第七批抗震救灾物资运抵交付
  • 两大跨国巨头称霸GLP-1市场,国产减肥药的机会在哪?
  • 外交部介绍中印尼“2+2”机制首次部长级会议将讨论的议题
  • 全国首票海关特殊监管区域外保税再制造业务落地上海
  • 一季度江西GDP达7927.1亿元,同比增长5.7%