C++算法复习之深度优先搜索(dfs)与解救小扣题解

深度优先搜索(Depth First Search)

深度优先搜索,一种非常快速的 搜索方式,接下来我们将主要讨论:

  • 搜索方式
  • 本质
  • 应用
搜索方式

深度优先搜索原本是专门为树形图与无向图准备的,如下图图是有点儿内个什么,丑

我们要在地图中找到宝藏,从a点向下遍历,真希望b,c都走啊!但是我们不能分身,所以只能先走b好了,在这时我们的程序里的函数要自调用一次,意思就是,把b看作a,f看作b,g看作c,继续操作,接下来走到f。f无路可走了!那就只好return;回到b,这时b可以走到g,g也无路可走了!之后回到b。这就是:回溯。f,g都走过了,也只好回到a。右面也是一样。
问题来了,走到b怎么保证不回到a呢?我们可以在程序开始时将树形图所有位置设成0,走到哪,就标1,然后在程序里判断只有0可以走,就可以避免重复走啦!

无向图原理一致

本质

这其实就是把所有可能性遍历一遍!找到最优路径,替换次要路径,打擂台找最优!!

应用

者可以用在迷宫中,所有障碍物标1,所有空地标0,就能走出迷宫。但是很慢,在比赛中,大地图中我们没时间都遍历一遍,那就使用bfs,广度优先搜索,下个博客我会讲哦!

献题

本人献上一道题:解救小扣
题目描述

有一天,小扣一个人出去。但是小扣在外遇到坏人,只能先躲起来报警。警察得知后便立即去解救无助的小扣。警察当然是有备而来,已经弄清楚了附近的坏人,现在警察要以最快的速度去解救小扣。问题就此开始了……

地图由n行m列的单元格组成(n和m都小于等于50),每个单元格要么是空地,要么是坏人。你的任务是帮助小艾找到一条从迷宫的起点通往小扣所在位置的最短路径。注意,遇到坏人会阻止你解救小扣,当然警察也不能走到迷宫之外。

输入描述

第一行输入地图横纵方向各有多少位置能走。 按照数组的方式,输入地形图。 先输入警察的坐标,在输入小扣的坐标。

输出描述

最短需要多少时间才能解救小扣。
输入样例
5 4
0 0 1 0
0 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
1 1 4 3
输出样例
7

思路:

这就是我们的01障碍物问题,每走一步,就得递归一次,怎么走呢?
在编程坐标系中表示出来就是:

int nextstep[4][2] = {
   {
   0, 1}, {
   1, 0}
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
大数据时代,几个例子告诉你什么是大数据 大数据时代-几个例子告诉你什么叫大数据全文共2页,当前为第1页。工具类厂商蓄意炒作大数据,以达到售卖产品的目的,但导致的结果是很多人对大数据这一概念云里雾里。实际上,大数据就发生在你我身边,虽然你看不到它,但它却时时影响着我们的生活。   现阶段,和大数据相关的企业有三种。一种是工具类公司,他们宣传得最卖力,并且把大数据吹出了泡沫,原因是它们希望把自己的产品卖给企业;一种是依托于大数据从事咨询服务类的企业;还有一种就是实实在拥有大数据的公司,它们和我们休戚相关,也就是下面的小故事所要阐述的内容。   第一个故事,百货公司知道女孩怀孕   美国的Target百货公司上线了一套客户分析工具,可以对顾客的购买记录进行分析,并向顾客进行产品推荐。一次,他们根据一个女孩在Target连锁店中的购物记录,推断出这一女孩怀孕,然后开始通过购物手册的形式向女孩推荐一系列孕妇产品。这一作法让女孩的家长勃然大怒,事实真相是女孩隐瞒了怀孕消息。   点评:看似杂乱无章的购买清单,经过对比发现其中的规律和不符合常规的数据,往往能够得出一些真实的结论。这就是大数据的应用。   第二个故事,搜狗热词里的商机   王建锋是某综合类网站的编辑,基于访问量的考核是这个编辑每天都要面对的事情。但在每年的评比中,他都号称是PV王。原来他的秘密就是只做热点新闻。王建锋养成了看百度搜索风云榜和搜狗热搜榜的习惯,所以,他会优先挑选热情榜上的新闻事件来编辑整理,关注的人自然多。   点评:搜狗拥有输入法,搜索引擎,那些在输入法和搜索引擎上反复出现的热词,就是搜狗热搜榜的来源。通过对海量词汇的对比,找出哪些是网民关注的。这就是大数据的应用。   第三个故事,阿里云知道谁需要贷款   这是阿里人讲述的一个故事。每天,海量的交易和数据在阿里的平台上跑着,阿里通过对商户最近100天的数据分析,就能知道哪些商户可能存在资金问题,此时的阿里贷款平台就有可能出马,同潜在的贷款对象进行沟通。   点评:通常来说,数据比文字更真实,更能反映一个公司的正常运营情况。通过海量的分析得出企业的经营情况,这就是大数据的应用。   第四个故事,中移动挽留流失客户   iPhone进入中国后,铁杆的移动用户王永铭加入了联通合约机大军。由于合约机承担了大量通话内容,王永铭将全球通换成了动感地带。三个月之后,王永铭接到了中国移动的10086电话,向他介绍中移动的优惠资费活动。一位移动的工作人员称,运营商会保管用户数据,如果话费锐减,基本上就是流失先兆。   点评:给数亿用户建立一个数据库,通过跟踪用户的话费消耗情况,运营商就能知道哪些用户在流失。这就是大数据的应用。   第五个故事:工薪阶层如何省小钱   上汽通用五菱股份有限公司的肖伟,是个不折不扣的网购专家。区别于菜市场的费力砍价,肖伟的作法简单多了,登陆各种比价网站,然后选择最便宜的正规店下单。   点评:比价网站通过海量的产品信息抓取,比如抓京东、天猫、易购的数据,然后将价格由低到高进行排列,这也是大数据的应用。   第六个故事:公关公司的舆情监督   这是一个离职公关人的故事。她参与和间接参与了很多危机公关事件,比如雷士照明的创始人股东之争,比如罗永浩砸西门子冰箱事件。她说,她每天的事情都是上网搜索事件的热度,然后决定下一步的动作。   点评:实际上你的每一下搜索,都是基于海量数据进行的,这实际上也是大数据的一种应用。   第七个故事:商用社交开始决定百事可乐的营销计划   这年头,广告主越来越精,他们希望花的每一分钱都有所回报。面对五花八门的营销活动,到底哪一种才是最合适的呢?百事可乐的作法很简单,它们购买了社交信息优化推广公司SocialFlow的服务,对数据进行分析,从而知道何种营销活动的传播效果更好   点评:广告主越来越喜欢为类似Social Flow的服务付费,基于海量数据分析然后得出结论的企业营销行为,也是大数据应用。   第8个故事:每天,我们借助大数据完成微信上的互动   田宇是一个85后小姑娘,每天她用微信来记录心情,并且和网友分享图片,此外还有各种语音聊天。全国有数亿像田宇一样的人在使用微信,每天都有大数据在微信这个平台上跑着。   点评:可能你不知道,但你每天都在使用和大数据相关的工具。   第九个故事:大数据解救了每一个"地理白痴"   李小茗是个"地理白痴",所以他下载了一个高德地图。没有安装导航的原因,是因为这一产品付费,且占据了超过3G的内存。只要花一点流量,李小茗就能在地图上查看自己所处的位置,以及周围的建筑。   点评:虽然李小茗不知道什么是大数据,但每个在他地图屏幕上跳出来的坐标,实际上都是由大大数据时代-几个例子告诉你什么叫大数据全文共2页,当前为第2页。数据堆成的。
数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源 数据结构、算法相关的资源
### 回答1: 《算法艺术与信息学竞赛题解pdf》是一本介绍算法艺术和信息学竞赛题解的教材。它通过详细解析一系列典型的竞赛题目,讲解了如何使用不同的算法和数据结构来解决这些问题。 在这本教材中,作者首先介绍了算法和信息学竞赛的基本知识,包括常用的数据结构和算法思想。然后,他通过具体的例子和题目,展示了如何应用这些知识来解决实际问题。每个题目都有详细的解析过程,包括问题的分析、算法的设计和优化等内容。 这本教材的特点之一是注重实践。作者通过大量的实例和练习题,帮助读者巩固所学的知识,并掌握解决问题的方法。此外,他还提供了一些常见的竞赛技巧和经验,帮助读者在竞赛中取得好的成绩。 《算法艺术与信息学竞赛题解pdf》适合对算法和信息学竞赛感兴趣的读者。无论是初学者还是有一定基础的读者,都可以从中受益。通过学习这本教材,读者不仅可以提高解决问题的能力,还可以培养逻辑思维和计算机编程的能力。 总之,这本教材提供了一种全面的学习算法和信息学竞赛的方式。通过深入浅出的讲解和丰富的实例,它帮助读者建立起坚实的算法基础,提高解决问题的能力,并在竞赛中取得优异的成绩。 ### 回答2: 算法艺术与信息学竞赛题解pdf是一本以算法和信息学竞赛题为内容的电子书,提供了有关这些题目的详细解答。该书的出版旨在帮助读者更好地理解和掌握算法和信息学竞赛的核心知识和技巧。 首先,这本书介绍了一些常见的算法和数据结构,如贪心算法、动态规划、图论等。通过逐一解析题目,并给出相应的算法设计和实现思路,读者可以学习到不同类型题目的解题方法和技巧。 其次,该书还强调了对问题进行建模的重要性。在解决问题时,合理的问题建模可以将问题转化为更易于理解和求解的形式。书中通过具体的例子,教给读者如何抽象问题,构建合适的数据结构来解决实际问题。 此外,该书还提供了大量典型题目的详细解答,包括解题思路、具体实现和代码示例等。读者可以通过参考这些题目的解答,了解不同类型题目的解题思路,提高自己的解题能力。 总之,算法艺术与信息学竞赛题解pdf是一本帮助读者提高算法和信息学竞赛能力的实用电子书。通过学习其中的知识和技巧,读者可以更好地解决相关问题,并在竞赛中获得优异成绩。 ### 回答3: 《算法艺术与信息学竞赛题解PDF》是一本内容丰富的电子书,主要讲解了算法艺术和信息学竞赛中常见的题目解法。该书以清晰简洁的语言,详细介绍了解题思路和具体实现过程。 这本电子书中涵盖了多个题型,包括排列组合、图论、动态规划、贪心算法等。通过这些经典的题目,读者可以了解到不同算法在解决问题时的特点和应用场景,提升算法设计和编程能力。 该电子书特色之一是讲解了信息学竞赛中被广泛使用的算法和数据结构,如并查集、最短路径算法、网络流等。阅读该书可以让读者对这些常用的算法有更深入的理解,从而在解决实际问题时能够选择适当的算法。 此外,该电子书为了方便读者理解,还提供了大量的实例,以演示不同算法的具体应用。这些实例不仅帮助读者掌握算法的思维方式,还能够培养读者的问题分析和解决能力。 总之,《算法艺术与信息学竞赛题解PDF》是一本非常实用的电子书,适合对算法和信息学竞赛感兴趣的读者。通过阅读该书,读者可以提高解题速度和准确度,增强算法设计和编程能力,对解决问题的思路和方法有更深入的认识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值