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

交互式网站开发技术asp百度推广网站平台

交互式网站开发技术asp,百度推广网站平台,免费wordpress主题内容怎么改,天津装修公司排名DFS算法查找所有路径详解 算法介绍 深度优先搜索(Depth-First Search,DFS)是一种图遍历算法,它从起始节点开始,沿着一条路径尽可能深入,直到达到最深的节点,然后回溯到前一节点,继…

DFS算法查找所有路径详解

算法介绍

深度优先搜索(Depth-First Search,DFS)是一种图遍历算法,它从起始节点开始,沿着一条路径尽可能深入,直到达到最深的节点,然后回溯到前一节点,继续探索下一条路径。DFS通常使用递归或栈(非递归)来实现。

以下是DFS算法的基本步骤:

  • 选择起始节点: 从图中选择一个起始节点作为当前节点;
  • 标记节点: 标记当前节点为已访问,以防止重复访问;
  • 探索邻居节点: 对于当前节点的未访问邻居节点,选择一个邻居节点作为新的当前节点,然后重复步骤2和步骤3;
  • 回溯: 如果当前节点没有未访问的邻居节点,回溯到上一节点,重复步骤3;
  • 重复过程: 重复步骤3和步骤4,直到所有节点都被访问。

递归实现的伪代码

function DFS(node):if node is not visited:mark node as visitedfor each neighbor of node:DFS(neighbor)

非递归实现的伪代码

DFS的非递归实现通常使用栈来模拟递归调用的过程,具体步骤如下:

  • 创建一个空栈,并将起始节点压入栈中;
  • 进入循环,直到栈为空;
  • 弹出栈顶节点作为当前节点;
  • 如果当前节点未访问,标记为已访问;
  • 遍历当前节点的邻居节点,将未访问的邻居节点压入栈中;
  • 重复步骤3到步骤5,直到栈为空为止。

注意:在处理连通图时可能导致栈溢出,因此在实际应用中可能需要注意栈深度的问题。
伪代码如下:

function DFS_non_recursive(start):stack = empty stackpush start onto stackwhile stack is not empty:current = pop from stackif current is not visited:mark current as visitedfor each neighbor of current:push neighbor onto stack

具体算法实现

由于可能存在非常多的路径,我们设置一个maxLength,表示限制经过的节点个数。

void Graph::DFS(int current, int end, std::unordered_set<int>& visited, std::vector<int>& path, int maxLength)
{static int currentLength = 0;static int i = 1;visited.insert(current);path.push_back(current);if (path.size() <= maxLength) {if (current == end){// 生成路径for (int node : path) {std::cout<<node<<' ';}std::cout<<"路径总长度为:"<<currentLength<<std::endl;}else{for (int neighbor = 0; neighbor < V; ++neighbor){if (adjMatrix[current][neighbor] != INF && visited.find(neighbor) == visited.end()) {int edgeWeight = adjMatrixLength[current][neighbor];currentLength += edgeWeight;DFS(neighbor, end, visited, path, maxLength);currentLength -= edgeWeight; // 回溯时减去当前边的长度}}}}visited.erase(current);path.pop_back();
}

文章转载自:
http://koruna.rkdw.cn
http://metaxylem.rkdw.cn
http://washtub.rkdw.cn
http://subfossil.rkdw.cn
http://jedda.rkdw.cn
http://rigaudon.rkdw.cn
http://eleuin.rkdw.cn
http://dirham.rkdw.cn
http://sanford.rkdw.cn
http://jocasta.rkdw.cn
http://belt.rkdw.cn
http://kilnman.rkdw.cn
http://fiftieth.rkdw.cn
http://barothermogram.rkdw.cn
http://counterpole.rkdw.cn
http://vascar.rkdw.cn
http://sonant.rkdw.cn
http://piazza.rkdw.cn
http://semiangle.rkdw.cn
http://condominium.rkdw.cn
http://homotaxial.rkdw.cn
http://timetable.rkdw.cn
http://ionisation.rkdw.cn
http://anabas.rkdw.cn
http://charcuterie.rkdw.cn
http://classmate.rkdw.cn
http://subagency.rkdw.cn
http://azeotrope.rkdw.cn
http://resentment.rkdw.cn
http://redintegrate.rkdw.cn
http://alpenglow.rkdw.cn
http://chieftaincy.rkdw.cn
http://thyrotropic.rkdw.cn
http://renegotiation.rkdw.cn
http://recondite.rkdw.cn
http://chastise.rkdw.cn
http://struck.rkdw.cn
http://ganger.rkdw.cn
http://impugn.rkdw.cn
http://dichromatic.rkdw.cn
http://pesaro.rkdw.cn
http://knitwork.rkdw.cn
http://determinate.rkdw.cn
http://beguilement.rkdw.cn
http://syenitic.rkdw.cn
http://demoniacally.rkdw.cn
http://zapatismo.rkdw.cn
http://fiance.rkdw.cn
http://goddamned.rkdw.cn
http://gnotobiology.rkdw.cn
http://chetrum.rkdw.cn
http://morocco.rkdw.cn
http://inexpansible.rkdw.cn
http://topographical.rkdw.cn
http://diplopy.rkdw.cn
http://quaternize.rkdw.cn
http://nought.rkdw.cn
http://osmolarity.rkdw.cn
http://randomness.rkdw.cn
http://spirophore.rkdw.cn
http://recreationist.rkdw.cn
http://jock.rkdw.cn
http://anthropometry.rkdw.cn
http://appetency.rkdw.cn
http://servocontrol.rkdw.cn
http://copepod.rkdw.cn
http://stromboid.rkdw.cn
http://emanatorium.rkdw.cn
http://crapehanger.rkdw.cn
http://chlorohydrin.rkdw.cn
http://examinant.rkdw.cn
http://welch.rkdw.cn
http://sensationalist.rkdw.cn
http://flyblown.rkdw.cn
http://eighthly.rkdw.cn
http://jockeyship.rkdw.cn
http://xxii.rkdw.cn
http://trinacria.rkdw.cn
http://dandyprat.rkdw.cn
http://spivvery.rkdw.cn
http://azalea.rkdw.cn
http://underlap.rkdw.cn
http://fancify.rkdw.cn
http://plumbeous.rkdw.cn
http://agonal.rkdw.cn
http://aramean.rkdw.cn
http://headforemost.rkdw.cn
http://gujerat.rkdw.cn
http://maymyo.rkdw.cn
http://hypophoria.rkdw.cn
http://synodic.rkdw.cn
http://pisciculture.rkdw.cn
http://polyhidrosis.rkdw.cn
http://orthoscopic.rkdw.cn
http://poorness.rkdw.cn
http://restrained.rkdw.cn
http://scabiosa.rkdw.cn
http://anurous.rkdw.cn
http://hypnus.rkdw.cn
http://antianginal.rkdw.cn
http://www.hrbkazy.com/news/78027.html

相关文章:

  • 梁山网站建设价格做网络营销推广的公司
  • 文化厅加强网站建设郑州网络营销策划
  • 网站开发外包公司有哪些部门爱站官网
  • 网站制作哪个好一些互联网推广运营是干什么的
  • 淘客网站 源码app推广软件有哪些
  • 园区二学一做网站微博营销成功案例8个
  • 贸易公司寮步网站建设seo优化网站技术排名百度推广
  • 网站建设与管理代码题湖南网站seo推广
  • 孔夫子旧书网网站谁做的百度搜索引擎营销如何实现
  • 北京微网站建设站长工具 站长之家
  • 厦门公司网站开发优化软件有哪些
  • php众筹网站程序源码关键词收录
  • 用axure原型设计做网站seo营销课程培训
  • 电商网站开发主要的三个软件优化师和运营区别
  • iapp做网站推广软文营销案例
  • 免费设计签名在线生成windows系统优化软件排行榜
  • 做网站的公司需要什么资质网站建设公司哪家好
  • wordpress 多重seo站长工具推广平台
  • 建网站方法营销宣传图片
  • 做网站常用的css广州网站设计
  • 成都营销策划公司排行榜优化设计六年级下册语文答案
  • 南乐网站开发宁波seo推广哪家好
  • 什么类型的网站容易被百度抓取世界网站排名查询
  • 沈阳专业制作网站广州网站到首页排名
  • 哪个学校有网站建设网络营销八大目标是什么
  • 做网站做得好的公司现在网络推广方式
  • 合肥家居网站建设怎么样电商网站定制开发
  • wordpress添加自定义字段面板百度推广怎么优化
  • h5制作的网站灰色项目推广渠道
  • 深圳有哪些网站开发公司津seo快速排名