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

广西网站建设价格低长沙seo外包优化

广西网站建设价格低,长沙seo外包优化,wordpress 倒计时插件,dz论坛中英文网站怎么做1. BFS与DFS 1.1 BFS DFS即Depth First Search,深度优先搜索。它是一种图遍历算法,它从一个起始点开始,逐层扩展搜索范围,直到找到目标节点为止。 这种算法通常用于解决“最短路径”问题,比如在迷宫中找到从起点到终…

1. BFS与DFS

1.1 BFS

DFS即Depth First Search,深度优先搜索。它是一种图遍历算法,它从一个起始点开始,逐层扩展搜索范围,直到找到目标节点为止。

这种算法通常用于解决“最短路径”问题,比如在迷宫中找到从起点到终点的最短路径

  • 首先,从起点开始,检查所有与它相邻的位置,也就是距离起点为1的位置
  • 然后,继续向外扩展,检查所有距离起点为2的位置,以此类推,直到找到出口
    在这里插入图片描述

我们发现每次搜索的位置都是距离当前节点最近的点。因此,BFS是具有最短路的性质的。在BFS中,可以使用队列来存储待搜索的节点。起始点首先加入队列中,然后不断从队列中取出节点,检查它是否是目标节点。如果不是,就将它的所有未被访问过的邻居加入队列中。这样,队列中的节点总是按照它们距离起点的距离排序,先加入队列的节点总是先被取出来搜索

通过这种方式,BFS可以找到起点到目标节点的最短路径。在实际应用中,BFS还可以用于拓扑排序、连通性检测等问题的解决。

1.2 DFS

DFSDepth First Search,深度优先搜索。它从一个起始点开始,一直往下走直到不能再走为止(简单理解:一条路走到黑),然后返回到前一个节点继续探索它的其他分支,直到找到目标节点为止。这种算法通常用于解决“遍历”问题,比如在树中查找所有的叶子节点

要理解DFS,也还可以想象自己在迷宫中寻找所有可行的路径

  • 首先,你会从起点开始,顺着一条路一直走,直到你走到一个死胡同
  • 再返回到前一个节点,继续探索其他分支

在DFS中,你可以使用递归或栈来实现深度优先搜索。通过这种方式,DFS可以找到所有可行的路径,或者在树中查找所有的叶子节点。

在实际应用中,DFS还可以用于拓扑排序、连通性检测等问题的解决。与BFS相比,DFS通常更适合处理深度优先的问题,而BFS更适合处理广度优先的问题

1.3 BFS与DFS的比较

如果分别用DFS 与 BFS 将二叉树的所有结点遍历一遍,那么它们遍历结点的顺序分别如下所示


接下来,让我们先看看在二叉树上进行 BFS 遍历和 DFS 遍历的代码比较

(1)DFS 使用递归遍历

void dfs(TreeNode* root) 
{if (root == nullptr) {return;}// 依次递归遍历它的左子树和右子树dfs(root->left);dfs(root->right);
}

(2)BFS 遍历使用队列相关的数据结构

void bfs(TreeNode* root) 
{// 创建一个队列queue<TreeNode*> q;q.push(root);while (!q.empty()) {// 在每次循环中,使用 q.front() 获取队头节点,并将其出队TreeNode* node = q.front();q.pop();// 然后将下一层的节点加入队列中// 检查这个节点的左右子节点是否为空,如果不为空,就将它们加入队列中if (node->left != nullptr) {q.push(node->left);}if (node->right != nullptr){q.push(node->right);}}
}

参考博客: https://blog.csdn.net/v_JULY_v/article/details/6111353

http://www.hkea.cn/news/499552/

相关文章:

  • 如何用模板做网站视频河北电子商务seo
  • 动态网站代码设计做小程序的公司
  • 网站建设软件开发的新闻北京关键词优化报价
  • 在上海做兼职在哪个网站好百度售后电话人工服务
  • 深圳网站开发招聘谁能给我个网址
  • 长沙做个网站多少钱怎样免费给自己的公司做网站
  • wordpress to微博优化营商环境条例
  • 做外贸通常用哪些网站seo网站监测
  • 电子商务网站建设解决方案必应搜索引擎
  • 企业网页制作与网站设计南京seo优化培训
  • sqlite开发网站想做网络推广的公司
  • 网页设计作业在线网站首页seo教程seo优化
  • 做个网站多钱域名备案查询系统
  • 饰品网站模板官网seo关键词排名系统
  • 文学网站做编辑百度笔记排名优化
  • 公司网站开发语言如何优化百度seo排名
  • 做网站较好的框架惠州百度推广排名
  • 网站建设和运营的课程推广软文发稿
  • 杭州企业网站建设方案ui培训
  • 个人站长做哪些网站好seo优化设计
  • 小白学做搭建网站软文街官方网站
  • 网站模板 可做采集站市场营销咨询
  • 家居网站建设素材天眼查询个人信息
  • 杭州专业网站排名优化交换链接的例子
  • 网站建设和数据容量整合seo的培训课程
  • 深圳 网站制作 哪家百度搜索排名优化哪家好
  • 网站运营者网址发稿平台
  • 内蒙古网站制作公司拼多多网店代运营要多少费用
  • 免费网站建设协议baike seotl
  • 做网站的好处和坏处怎么创建自己的网址