图的深度优先算法

简介: 图的深度优先算法

图的邻接表存储结构

#include<iostream>
#include<stdlib.h> 
#define maxsize 100
using namespace std;
int visit[maxsize]={0};//初始化全为0 
//邻接矩阵,顺序存储 
typedef struct{
  int no;//顶点编号 
  char info;//顶点其他信息 
}VertexType;
//图的邻接矩阵
typedef struct{
  int edges[maxsize][maxsize];
  int n,e;
  VertexType vex[maxsize]; 
}MGraph;//嵌套结构体 ,线性结构 
//建立一个单链表,每个单链表的第一个结点存放有关顶点信息 
//邻接表,链式存储 
typedef struct ArcNode{
  int adjvex;
  struct ArcNode *nextarc;//指向下一条边的指针
  int info; 
}ArcNode;//子单链表 
typedef struct{
  char data;//顶点信息char
  ArcNode *firstarc;//指向第一条边的指针 
}VNode;//线性
 
typedef struct{
  VNode adjlist[maxsize];
  int n,e;
}AGraph;//邻接表 
int Visit(int &v){
  cout<<v<<endl;
  return v;
}//访问打印
//DFS深度优先 
int DFS(AGraph *G,int v){//v是点编号 
  ArcNode *p;
  visit[v]=1;//1访问,0未访问 
  Visit(v);
  p=G->adjlist[v].firstarc;//指向顶点V的第一条边 
  while(p!=NULL){
    if(visit[p->adjvex]==0){
    //为0未访问则指向下一顶点,递归访问 
    DFS(G,p->adjvex);
    p=p->nextarc;//指向下一个 
  } 
  return 1;
}
int main(){
  system("color 3");
  return 0;
} 


目录
相关文章
|
8月前
|
存储 算法 Java
Java中,树与图的算法涉及二叉树的前序、中序、后序遍历以及DFS和BFS搜索。
【6月更文挑战第21天】Java中,树与图的算法涉及二叉树的前序、中序、后序遍历以及DFS和BFS搜索。二叉树遍历通过访问根、左、右子节点实现。DFS采用递归遍历图的节点,而BFS利用队列按层次访问。以下是简化的代码片段:[Java代码略]
57 4
|
8月前
|
算法 Python
深度优先算法
深度优先算法
|
5月前
|
算法 调度
作业调度算法_先来先服务算法_短作业优先算法_高响应比优先算法
本文介绍了作业调度算法,包括先来先服务(FCFS)、短进程优先(SJF)和高响应比优先(HRRN)算法。通过分析进程的到达时间和所需CPU服务时间,计算进程的开始时间、完成时间、平均周转时间和平均带权周转时间,以评估不同算法的性能。FCFS适合长作业,SJF适合短作业,而HRRN则综合了两者的优点。
205 12
|
7月前
|
存储 算法 Python
“解锁Python高级数据结构新姿势:图的表示与遍历,让你的算法思维跃升新高度
【7月更文挑战第13天】Python中的图数据结构用于表示复杂关系,通过节点和边连接。常见的表示方法是邻接矩阵(适合稠密图)和邻接表(适合稀疏图)。图遍历包括DFS(深度优先搜索)和BFS(广度优先搜索):DFS深入探索分支,BFS逐层访问邻居。掌握这些技巧对优化算法和解决实际问题至关重要。**
65 1
|
7月前
|
算法 JavaScript
JS 【详解】树的遍历(含深度优先遍历和广度优先遍历的算法实现)
JS 【详解】树的遍历(含深度优先遍历和广度优先遍历的算法实现)
94 0
JS 【详解】树的遍历(含深度优先遍历和广度优先遍历的算法实现)
|
7月前
|
数据采集 存储 算法
「AIGC算法」图搜索算法详解
本文探讨了图搜索算法,包括遍历和最短路径搜索。DFS和BFS是遍历算法,前者使用栈深入搜索,后者用队列逐层遍历。Dijkstra、Bellman-Ford、A*、Floyd-Warshall和Johnson算法则解决最短路径问题。文中还给出了DFS的Python实现示例。这些算法在路径规划、网络分析等领域有重要应用。
230 0
|
9月前
|
存储 算法 C++
c++算法学习笔记 (8) 树与图部分
c++算法学习笔记 (8) 树与图部分
|
8月前
|
算法 Python
广度优先算法
广度优先算法
|
8月前
|
算法
【经典LeetCode算法题目专栏分类】【第4期】BFS广度优先算法:单词接龙、最小基因变化、二进制矩阵中的最短路径
【经典LeetCode算法题目专栏分类】【第4期】BFS广度优先算法:单词接龙、最小基因变化、二进制矩阵中的最短路径