C#深度优先搜索算法

发布时间 - 2026-01-11 02:01:05    点击率:

本文实例为大家分享了C#深度优先搜索算法的具体代码,供大家参考,具体内容如下

//论文要用到其改进算法,在此先demo测试一下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DFS
{
  class Program
  {
    public int[,] map = new int[100, 100];
    public int[] road = new int[120];
    public int n, x, y;
    public int m = 1;
    public int[] visited = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, };
    static void Main(string[] args)
    {
      Program pro = new DFS.Program();
      int i, j;
      pro.n = int.Parse(Console.ReadLine());
      pro.x= int.Parse(Console.ReadLine());
      pro.y= int.Parse(Console.ReadLine());
    
      for (i = 0; i < pro.n; i++)
      {
        for (j = 0; j < pro.n; j++)
        {
          pro.map[i,j]= int.Parse(Console.ReadLine());
        }
      }
      pro.road[0] = pro.x;
      pro.dfs(pro.x);
    }
    public void dfs(int p)
    {
      visited[p] = 1;
      int i, j;
      for (i = 0; i < n; i++)
      {
        if (map[p,i] == 1 && visited[i] == 0)
        {
          if (i == y)///如果深搜到了终点,就输出刚才经过的路径 
          {
            for (j = 0; j < m; j++)
            {
              Console.WriteLine("{0}", road[j]);
            }
            Console.WriteLine("{0}\r\n", y);
          }
          else///如果该点不是终点 
          {
            map[p,i] = 0;
            road[m] = i;///将该点存起来 
            m++;
            dfs(i);///接着深搜 
            map[p,i] = 1;
            visited[i] = 0;
            m--;
          }
        }
      }
    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# C#  # 深度优先  # 搜索算法  # C#中实现深度优先搜索  # C#实现广度优先搜索的实例代码  # 在此  # 要用  # 大家分享  # 将该  # 具体内容  # 大家多多  # 测试一下  # Generic  # Linq  # System  # Collections  # Tasks  # namespace  # Text  # Threading  # public  # class  # brush  # WriteLine  # pre 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  如何快速生成凡客建站的专业级图册?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  Laravel Docker环境搭建教程_Laravel Sail使用指南  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  如何用VPS主机快速搭建个人网站?  php结合redis实现高并发下的抢购、秒杀功能的实例  LinuxCD持续部署教程_自动发布与回滚机制  Laravel如何实现用户密码重置功能?(完整流程代码)  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  QQ浏览器网页版登录入口 个人中心在线进入  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何制作一个表白网站视频,关于勇敢表白的小标题?  详解Oracle修改字段类型方法总结  Laravel如何保护应用免受CSRF攻击?(原理和示例)  焦点电影公司作品,电影焦点结局是什么?  打造顶配客厅影院,这份100寸电视推荐名单请查收  如何在Windows虚拟主机上快速搭建网站?  高端云建站费用究竟需要多少预算?  如何在阿里云域名上完成建站全流程?  如何用西部建站助手快速创建专业网站?  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  Laravel怎么使用artisan命令缓存配置和视图  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  如何挑选最适合建站的高性能VPS主机?  Python高阶函数应用_函数作为参数说明【指导】  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何用JavaScript实现文本编辑器_光标和选区怎么处理  中国移动官方网站首页入口 中国移动官网网页登录  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  公司网站制作需要多少钱,找人做公司网站需要多少钱?  西安专业网站制作公司有哪些,陕西省建行官方网站?  如何在香港免费服务器上快速搭建网站?  JavaScript常见的五种数组去重的方式  Laravel如何使用.env文件管理环境变量?(最佳实践)  Laravel如何实现事件和监听器?(Event & Listener实战)  如何彻底删除建站之星生成的Banner?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  如何快速搭建高效服务器建站系统?  微信推文制作网站有哪些,怎么做微信推文,急?  ,在苏州找工作,上哪个网站比较好?  JS中对数组元素进行增删改移的方法总结  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  深圳网站制作的公司有哪些,dido官方网站?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】