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

国外设计素材网站免费微信平台做微文网站链接

国外设计素材网站免费,微信平台做微文网站链接,企业网站的特征,wordpress 四亩深度优先算法(Depth First Search,DFS)是一种常见的图形算法,它是一种用于遍历或搜索树或图的算法。在深度优先搜索中,我们首先探索一个子树的深度,然后再回溯到父节点,接着探索另一个子树的深度…

深度优先算法(Depth First Search,DFS)是一种常见的图形算法,它是一种用于遍历或搜索树或图的算法。在深度优先搜索中,我们首先探索一个子树的深度,然后再回溯到父节点,接着探索另一个子树的深度,直至搜索结束。

深度优先算法的基本思想是沿着树的深度遍历树的节点。深度优先算法的工作原理类似于树的前序遍历,即首先访问根节点,然后依次访问该节点的子节点。

深度优先算法可以用递归实现,也可以使用栈来实现。下面我们详细介绍这两种实现方式。

  1. 递归实现深度优先算法

下面是使用递归实现深度优先算法的示例代码:

void dfs(int node, vector &visited, vector> &graph) {// 标记节点node已被访问visited[node] = true;// 访问节点nodecout << node << " ";// 遍历node的所有邻居节点for (int i = 0; i < graph[node].size(); i++) {int neighbor = graph[node][i];// 如果邻居节点未被访问,则递归访问它if (!visited[neighbor]) {dfs(neighbor, visited, graph);}}
}

在这个示例中,我们首先定义一个函数dfs,它接收三个参数,分别是当前节点node、表示节点是否被访问的visited向量以及描绘图的邻接矩阵graph。在函数内部,我们首先将当前节点标记为已访问,并输出该节点的编号。然后我们遍历该节点的所有邻居节点,如果邻居节点未被访问,则递归地访问它。递归的终止条件是遍历完所有节点。

  1. 栈实现深度优先算法

下面是使用栈实现深度优先算法的示例代码:

void dfs(int node, vector &visited, vector> &graph) {stack stk;// 将起始节点入栈stk.push(node);while (!stk.empty()) {// 取出栈顶元素int cur = stk.top();stk.pop();// 如果当前节点未被访问,则访问它if (!visited[cur]) {visited[cur] = true;cout << cur << " ";// 将当前节点的邻居节点入栈for (int i = graph[cur].size() - 1; i >= 0; i--) {int neighbor = graph[cur][i];if (!visited[neighbor]) {stk.push(neighbor);}}}}
}

在这个示例中,我们首先定义一个函数dfs,它接收三个参数,分别是当前节点node、表示节点是否被访问的visited向量以及描绘图的邻接矩阵graph。在函数内部,我们创建一个栈,并将初始节点node入栈。在栈未空之前,我们重复执行以下步骤:

  • 取出栈顶元素
  • 如果当前节点未被访问,则将其标记为已访问,并输出该节点的编号
  • 遍历该节点的所有邻居节点,如果邻居节点未被访问,则将其入栈

在程序的最后,我们完成了整个深度优先遍历。

深度优先算法的时间复杂度为$O(V+E)$,其中$V$是图的节点数量,$E$是图的边数量。因为在遍历每个节点和边的时候,每个节点和边都会被访问一次。另外,深度优先算法的空间复杂度为$O(V)$,其中$V$是图的节点数量,因为需要存储每个节点的访问状态。

http://www.yayakq.cn/news/716473/

相关文章:

  • 宁波外贸网站建设有哪些建筑人才网官
  • 制作网站工具wordpress访问格式丢失
  • 备案名称和网站logo不一致专门为98k做的网站
  • 温州免费建站模板网站开发简历 自我评价
  • 广州找人做网站wordpress伪静态失效
  • 网站怎样绑定域名访问服务品牌策划方案
  • 旅游网站开发目标wordpress写文章页面无法显示
  • 海外访问国内网站 dns东莞市自然资源局官网
  • 平顶山住房和城乡建设局网站c 微信网站开发
  • 网站开发人员需要去做原型吗598网站建设
  • 免费网站入口网站免费进ps软件四合一网站建设源码
  • 网站开发公司经营范围怎么写珠海网站建设 超凡科技
  • 深圳营销型网站建设服务费用wordpress企业能用吗
  • 传奇网页版在线玩seo全网推广
  • 淘宝优惠券怎么做网站南京建设企业网站的公司
  • 郴州建设网站的公司做素材网站服务器
  • 网牛网站建设中卫网站建站设计
  • 做网站销售 优帮云凤凰军事新闻最新消息
  • 微网站搭建流程二级医院做网站
  • 成都网站建设司代码生成器手机版
  • 网站 报价方案东莞网站(建设信科网络)
  • 汕头市建设局造价信息网站能免费做封面的网站
  • 宜春网站建设联系方式wordpress 调用中等图片
  • 网站做预览文档哪个网站可以免费下载电视剧看
  • 什么网站可以找人做设计网站策划书ppt
  • h5网站做微信公众号网站建设 人天价格
  • 网站策划书我与音乐seo教程正规化岚鸿
  • 静态后台管理网站模板天津建设工程信息网评标专家怎么查询评审项目
  • 建站公司外贸营销网站建设需要多少钱
  • 网站可以换主机吗网站开发流程龙岩