您当前的位置: 首页 >  搜索

贤鱼不闲

暂无认证

  • 4浏览

    0关注

    75博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【c++算法篇】--30分钟从0到精通讲解算法--搜索

贤鱼不闲 发布时间:2022-08-01 00:00:57 ,浏览量:4

c++搜索算法---详解
  • 搜索算法概念
  • 具体实现
    • 深度优先搜索(dfs)
      • 原理/思路
      • 实现过程
        • 例题
          • 题目1
          • 题目2
          • 题目3
          • 题目4
        • AC代码+思路详解
          • 题目1
          • 题目2
          • 题目3
          • 题目4
    • 广度优先搜索(bfs)
      • 原理/思路
      • 实现过程
        • 例题
          • 题目1
          • 题目2
          • 题目3
        • AC代码+思路详解
          • 题目1
          • 题目2
          • 题目1
    • 总结:
      • 答疑解惑
          • 方向数组
搜索是c语言中重要的算法之一,为以后的学习打下了基础,下面让我们来了解一下: 在这里插入图片描述

搜索算法概念

是通过进行递归操作或者通过队列的特殊性质来进行解题的一种算法,具体分为深度优先搜索(dfs)和广度优先搜索(bfs),在具体解决题目的过程中可以通过题目来选择不同的解法,在数据范围允许的情况下,两种方式可以进行互相转换,下面会进行具体介绍。

具体实现 深度优先搜索(dfs)

是以深度为优先的搜索方式,在一些数据范围不大的走迷宫类型的题目中可以运用,通过不停的试错的方式找寻答案,但是有可能会mle

原理/思路

如下 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 后面以此类推 所以深度搜索就是依靠递归操作寻找答案。 注意: 题目如果数据范围过大不建议使用,很有可能可以找到答案,但是需要大量时间(实在没有办法就打表吧。)

实现过程

先来看到题 >n; dfs(0,m,0);//注意我们开始递归的值 /* 注意,我们开始的第一个0代表处理了几个苹果,第二个代表剩余苹果,第三个0代表处理到第几个盘子*/ cout> y; for(int i=1;i

关注
打赏
1664987740
查看更多评论
立即登录/注册

微信扫码登录

0.0754s