- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
宽度优先搜索 ① 从结点v开始,给v标上已到达(或访问)标记——此时称结点v还没有被检测,而当算法访问了邻接于某结点的所有结点时,称该结点被检测了。 ② 访问邻接于v且尚未被访问的所有结点——这些结点是新的未被检测的结点。将这些结点依次放置到一未检测结点表(队列Q)中(末端插入) 。 ③ 标记v已被检测。 ④ 若未检测结点表为空,则算法终止;否则 ⑤ 从未检测结点表的表头取一结点作为下一个待检测结点, 重复上述过程。 宽度优先搜索生成树 例3.农民约翰的牛终于乘着他们的奶牛飞船发射升空, 现在它们正在太空中飞行。它们想到它们位于木星的卫 星Io上亲戚那去,但是他们必须第一次飞越危险的小 行星群。 Bessie正驾驶飞船通过N x N (1 =N = 1,000)的危险区域。小行星群由许多1 x 1的方块组 成(同一区域的方块与邻近的方块有相同的边)。请帮 助Bessie计算通过的区域中有多少小行星群。 下面是一个10 x 10的区域。每个*表示一个小行星,每个.表示空的区域。 ...**..... ...11..... .*........ .2........ ......*... ......3... ...*..*... ...3..3... ..*****... ..33333... ...*...... ...3...... ....***... ....444... .*..***... .5..444... .....*...* ......4...6 ..*....... ..7........ 我们容易发现有7个小行星群在这个区域。 输入样例: 10 ...**..... .*........ ......*... ...*..*... ..*****... ...*...... ....***... .*..***... .....*...* ..*....... 例4.前一天晚上,整个农场刚经受过一场瓢泼大 雨的洗礼,于是不难想见,FJ 现在面对的是一大 片泥泞的土地。FJ的屋子在平面坐标(0, 0)的位 置,奶牛贝茜所在的牛棚则位于坐标(X,Y) (-500 = X = 500; -500 = Y = 500)处。当然咯, FJ也看到了地上的所有N(1 = N = 10,000)个泥 塘,第i个泥塘的坐标为(A_i, B_i) (-500 = A_i = 500;-500 = B_i = 500)。每个泥塘都 只占据了它所在的那个格子。 Farmer John自然不愿意弄脏他新买的靴子,但他同 时想尽快到达贝茜所在的位置。为了数那些讨厌的泥 塘,他已经耽搁了一些时间了。如果Farmer John只 能平行于坐标轴移动,并且只在x、y均为整数的坐标 处转弯,那么他从屋子门口出发,最少要走多少路才 能到贝茜所在的牛棚呢?你可以认为从FJ的屋子到牛 棚总是存在至少一条不经过任何泥塘的路径。 问题输入: 第1行: 3个用空格隔开的整数:X,Y 和 N; 第2..N+1行: 第i+1行为2个用空格隔开的整数:A_i 和 B_i。 问题输出: 输出只包含1个整数,即FJ在不踏进泥 塘的情况下,到达贝茜所在牛棚所需要走过 的最小距离。 输入样例: 1 2 7 0 2 -1 3 3 1 1 1 4 2 -1 1 2 2 例5.有两个没有刻度的杯子,其容量是V1和 V2,另有一无限容量的水缸,里面有无限多 水。我们可以用水缸中的水将杯子装满,也 可以将杯子中的水全部倒入水缸,或者将水 从一个杯子倒入另一个杯子中(必须倒光或 者另一个杯子满为止),现请你找出一个方 案,使得杯子1或杯子2或杯子1+杯子2中的 水正好等于V3。开始时默认两个杯子均为满 的。 问题输入: 仅三个整数V1、V2和V3,其中V1和V2小于2^7,V3小于2^8。 问题输出: 仅一个整数,表示最少需要执行多少次操作。若无法完成,则输出-1。 输入样例: 3 5 4 输出样例: 6 问题输出: 哥伦比亚号到铁达尼克号的最短距离。 输入样例: 3 001 001 100 1 1 3 3 输出样例: 4 搜索算
文档评论(0)