第十二周项目3-图遍历算法实现DFS

第十二周项目3-图遍历算法实现(1-深度优先遍历) 问题及代码: /* copyright (t) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:1.cpp *作者:常锐 *完成日期:2016年11月17日 *版本号:v1.0 *问题描述:实现图遍历算法,输出如下图结构的深度优先(DFS)遍历序列。 *输入描述:无 *程序输出:测试结果 */ graph.h: #include # 阅读详情

问题及代码:

/* 
* Copyright (c)2016,烟台大学计算机与控制工程学院 
* All rights reserved. 
* 文件名称:ccc.cpp 
* 作    者:陈梦雪
* 完成日期:2016年11月23日 
* 版 本 号:v1.0  
* 问题描述:  实现图遍历算法,分别输出如下图结构的深度优先(DFS)遍历序列和广度优先遍历(BFS)序列。
* 输入描述: 无 
* 程序输出: 测试数据 
*/   


头文件及功能函数见【图基本算法库】

main.cpp

#include "graph.h"

int visited[MAXV];
void DFS(ALGraph *G, int v)
{
    ArcNode *p;
    int w;
    visited[v]=1;
    printf("%d ", v);
    p=G->adjlist[v].firstarc;
    while (p!=NULL)
    {
        w=p->adjvex;
        if (visited[w]==0)
            DFS(G,w);
        p=p->nextarc;
    }
}

int main()
{
    int i;
    ALGraph *G;
    int A[6][6]=
    {
        {0,1,1,1,0,0},
        {1,0,1,0,1,0},
        {1,1,0,0,0,1},
        {1,0,0,0,1,1},
        {0,1,0,0,0,1},
		{0,0,1,1,1,0}
    };
    ArrayToList(A[0], 6, G);

    for(i=0; i<MAXV; i++) visited[i]=0;
    printf(" 由0开始深度遍历:");
    DFS(G, 0);
    printf("\n");

    for(i=0; i<MAXV; i++) visited[i]=0;
    printf(" 由1开始深度遍历:");
    DFS(G, 1);
    printf("\n");
    return 0;
}
运行结果:






        
C++图遍历算法的实现:深度优先与广度优先 🏆本文收录于「编程与技术实战」专栏,此专栏涵盖了C/C++编程、人工智能、数据结构、机器学习等技术领域的内容,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 阅读详情

相关推荐

【gcc】跨版本兼容实战:高版本编译程序在低版本glibc环境下的部署方案

本文针对高版本gcc编译的程序在低版本glibc环境下部署的兼容性问题,提供了四种实战解决方案:静态编译的局限性、容器化部署的优雅方案、使用Devtoolset工具链的官方支持,以及最通用灵活的打包依赖SO发布方案。重点剖析了通过设置RPATH和Interpreter或使用patchelf工具,实现程序与自带库的独立部署,有效解决glibc版本鸿沟。

weixin_29237635的博客 362

图的实现和图的深度遍历 Graph's DFS

图的存储有2种方式: 1、数组形式存储的邻接矩阵法 2、链表形式存储的邻接表法。 图的遍历方法有2种方式: 1、深度优先遍历 2、广度优先遍历 数组形式存储的邻接矩阵法: 这里我们申请一块矩阵大小的连续空间,然后用一个数组指针来操作二维数组,如edge[i][j]。 int (*edge)[VERTEXNUM] = (int (*)[VERTEXNUM])malloc(si

LUCKYOJ 1342

内网穿透-frp二层隧道搭建

环境: weblogic: 192.168.0.133 10.10.20.12 win7 : 10.10.20.7 10.10.10.7go语言、跨平台的 可以分为frpc和frps frpc—>请求----->frps frps:放到黑客公网上 1.需要出网 2.配置: frpc:放到肉鸡上,请求frps 2.端口转发 2.1frpc传到肉鸡(weblogic) 利用工具,传入内存马到weblogic,然后使用冰蝎进行连接 然后在文件管理中上传frpc.exe和frpc.ini文件 fr

yyytaotao的博客 2103

实验题6.2 实现图的遍历算法

【实验目的】 (1)巩固所学的有关图的基本知识; (2)熟练掌握图的存储结构; (3)熟练掌握图的两种遍历算法。 【实验准备】 (1)阅读教材中图的遍历相关内容; (2)熟悉图的遍历算法。 【实验要求】 (1)采用函数调用的方式完成; (2)文件funp6-2.cpp的作用是完成图的深度优先遍历DFS和广度优先遍历BFS操作; (3)实验提交必须有完整正确的程序以及程序运行结果的截图。 【实验内容】 编写一个程序,实现下图的遍历算法。(深度优先遍历DFS和广度优先遍历BFS) .

weixin_44745291的博客 1779

Super4PCS文章阅读笔记

Super4PCS阅读笔记 Super4PCS阅读笔记 前言 前言 今天给大家分享一下点云配准四点法4PCS0的变种——Super4PCS。此算法的原文在:Super4PCS: Fast Global Pointcloud Registration via Smart Indexing。稍微我也会写一篇关于如何使用这篇文章的里所提供的代码进行点云粗配准。关于四点法...

Vodake的博客 4539

Revit二次开发之双事件:空闲事件与DocumentChanged事件

对以下文章所展示的代码进行了修改,当前展示的代码可直接复制使用。 由于本人初学,下列语言为个人理解,如有错误请指正。   《引用1》中: 使用模态对话框,或者尽量保证事件在ExternalCommand的Execute函数或者ExternalApplication的OnStartup函数里面注册。 如果一定要使用非模态对话框,那么请使用ExternalEvent事件的Raise函数,强迫...

一个Revit二次开发的实习生 6147

深度优先搜索DFS递归实现图的遍历

DFS遍历图

小鱼的小窝 1543

避坑指南:Python模拟抖音扫码登录时,那些你可能会遇到的‘Referer’和‘Token’校验问题

本文深入解析Python模拟抖音扫码登录时常见的Referer校验与Token失效问题,提供五大陷阱的解决方案。从动态fp参数生成到Referer校验策略,再到Token生命周期管理,手把手教你破解抖音登录接口的反爬机制,助力开发者高效完成自动化登录。

weixin_42573113的博客 783

第十二周 项目3-图遍历算法实现

/* *Copyright (c)2016,烟台大学计算机学院 *All rights reserved. *文件名称:传写.cpp *作者:李欣 *完成日期:2016年11月24日 *版本号:v1.0 * *问题描述:图遍历算法实现 */   main.cpp #include #include #include "graph.h" int vi

zcqdlixin的博客 299

RK3588 EVB开发板原理图讲解【六】

该原理图展示了eMMC Flash与主控芯片之间的连接关系,以及相关的电源、信号线路和去耦电容等。

weixin_48721556的博客 1177

最新Linux CSI Tools安装教程(两台主机,一发一收)(监控模式)

无线感知之CSI Tools工具安装,最新在监控模式下采集CSI数据,

h1998040218的博客 3035

图的遍历(搜索)算法(深度优先算法DFS和广度优先算法BFS)

图的遍历的定义: 从图的某个顶点出发访问遍图中所有顶点,且每个顶点仅被访问一次。(连通图与非连通图) 深度优先遍历(DFS); 1、访问指定的起始顶点; 2、若当前访问的顶点的邻接顶点有未被访问的,则任选一个访问之;反之,退回到最近访问过的顶点;直到与起始顶点相通的全部顶点都访问完毕; 3、若此时图中尚有顶点未被访问,则再选其中一个顶点作为起始顶点并访问之,转 2;...

diaoyanqin5061的博客 627

YOLO模型部署RK3588多核NPU并行加速完整教程:基于线程池的高性能AI推理实现

本教程详细介绍了如何在RK3588平台上实现多核NPU并行加速的AI推理方案。RK3588搭载3个独立NPU核心,总算力达6TOPS,支持单核、双核和三核三种工作模式。文章深入解析了NPU硬件架构特点,包括核心独立处理能力、内存带宽分配及多核心协作机制,并提供了C++代码示例展示核心负载均衡、任务调度和内存优化策略。通过线程池技术可以有效利用多核NPU并行计算能力,显著提升AI推理性能,特别适合高并发场景。教程还包含内存子系统的瓶颈分析和性能预估方法,为开发者提供完整的优化思路。

LXY_LOVE36的博客 797

第十二周项目3--图遍历算法实现--实现深度优先遍历--DFS

问题及代码: /* *烟台大学计算机与控制工程学院 *作 者:刘倩 *完成日期:2016年11月14日 *问题描述:利用图的算法库实现深度优先遍历序列 */ (1)graph.h代码 #define MAXV 100 //最大顶点个数 #define INF 32767 //INF表示∞ typede

meiyanrumei的博客 369

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

第十二周项目3-图遍历算法实现(1)-深度优先遍历(DFS)

/*    * Copyright (c) 2016, 烟台大学计算机与控制工程学院    * All rights reserved。    * 文件名称 :1.cpp    * 作    者 :杨俊杰  * 完成日期 :2016年 11月17日    * 版 本 号 :v1.0    * 问题描述 :深度优先遍历  * 输出描述 :  */ 测试用图:

Gjyjj的博客 376

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

第十二周 项目3 图遍历算法实现-深度优先遍历

问题描述及代码: /* *烟台大学计控学院 *作 者:白晓娟 *完成日期:2016年11月17日 *问题描述:利用图的算法库实现深度优先遍历序列 */ //graph.h #define MAXV 100 //最大顶点个数 #define INF 32767 //INF表示∞ typedef

S1E2L3的博客 407

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

第十二周项目(3):图遍历算法实现——深度优先遍历

问题及代码: /* *烟台大学计算机与控制工程学院 *作 者:杨宁 *完成日期:2015年11月16日 *问题描述:实现图遍历算法,分别输出下图结构的深度优先遍历序列和广度优先遍历序列。 */ 图如下 #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 100

yn2333的博客 642

第十二周项目3 图遍历算法实现(1)深度优先遍历

问题及代码: #ifndef BTREE_H_INCLUDED #define BTREE_H_INCLUDED /* *烟台大学计控学院 *作 者:孙启先 *完成日期:2016年11月17日 *问题描述:利用图的算法库实现深度优先遍历序列 */ #endif // BTREE_H_INCLUDED (1)graph.h #ifndef BTREE

Sqixian97的博客 402

第十二周 项目3-图遍历算法实现(1)深度遍历

/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第十二周项目3 - 图遍历算法实现(1)深度遍历.cpp 作 者:滕健 完成日期:2016年11月17日 * 问题描述:实现图遍历算法,分别输出如下图结构的深度优先(DFS)遍历序列和广度优先遍历(BFS)序列。 * 输入描述:无

滕健的博客 529

图的遍历(搜索)算法 之 深度优先遍历算法

图的遍历的定义: 从图的某个顶点出发访问遍图中所有顶点,且每个顶点仅被访问一次。 (连通图与非连通图) 深度优先遍历(DFS); 1、访问指定的起始顶点; 2、若当前访问的顶点的邻接顶点有未被访问的,则任选一个访问之;反之,退回到最近访问过的顶点;直到与起始顶点相通的全部顶点都访问完毕; 3、若此时图中尚有顶点未被访问,则再选其中一个顶点作为起始顶点并访问之,转 2; 反之,遍历结束。

zuihongyan518的博客 4万+

实现图的遍历算法

实现图的遍历算法 领会图的两种遍历,深度优先算法和广度优先算法。 输出: (1)输出有向图G从顶点0开始的深度优先遍历序列(递归算法)。 (2)输出有向图G从顶点0开始的深度优先遍历序列(非递归算法)。 (3)输出有向图G从顶点0开始的广度优先遍历序列。 设备: 计算机,VC6.0 注意点: (1)图的深度优先递归算法 void DFS(AdjGraph *G,int v) { Arc...

Ithaca_farmer的农田 7233

C++实现图的深度优先遍历算法完整代码

要遍历的图如上图所示 采用邻接表实现 #include <iostream> using namespace std; #include<stdlib.h> # define maxSize 10 typedef struct ArcNode{ //边表结点 int adjvex; //是这条边所指向的下一个结点的数组下标 struct ArcNode *nextarc; //int info; //如果有权值就使用 }ArcNode; typedef str

weixin_45482422的博客 5948

Python算法系列—深度优先遍历算法【二叉树】

深度优先遍历算法之二叉树一、什么是深度优先遍历二、二叉树1. 二叉树简介2.二叉树类型3.二叉树相关术语4. 二叉树的节点代码5. 二叉树遍历顺序6.深度优先遍历和广度优先遍历三、面试题+励志 ``这不就是二叉树吗?嗯,风景都在提示我该学学二叉树了``` 一、什么是深度优先遍历 深度优先遍历算法是经典的图论算法。从某个节点v出发开始进行搜索。不断搜索直到该节点所有的边都被遍历完,当节点v所有的边...

TianYao 7923

图的深度优先遍历算法

前言图的遍历与前面文章中的二叉树遍历还是存在很大区别的。所谓图的遍历指的是从图中的某一个顶点出发访问图中的其余顶点,并且需要保证每个顶点只被访问一次。由于图比二叉树复杂得多,所以前面二叉树的遍历算法在图中是行不通的。因为对于任意一个顶点来讲,都可能与其余的顶点发生连接。如果不对访问的顶点做一些处理,出发重复访问的几率是很高的。因此,一个基本思想是设置一个标记数组,主要用于标记已经被访问过的顶点。图的

rhwayfun专栏 9359
上一篇: 第十二周项目2-操作用邻接表存储的图
下一篇: 第十二周项目3-图遍历算法的实现BFS
小太阳陈陈
博客等级 码龄10年 5粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值