题意:两个容积分别为A,B的杯子可进行以下三种操作: 1、倒满杯子FILL(i) 2、倒空杯子DROP(i) 3、将杯子 i 中的水倒进杯子 j ,倒完后要么 i 为空,要么 j 为满。 问操作多少次能在某只杯子中恰好得到容积为C的水及操作步骤。 分析:广度优先搜索,每次的状态是当前两只杯子分别得水 ...
分类:
其他好文 时间:
2016-10-30 23:53:44
阅读次数:
253
上篇博客我们聊了图的物理存储结构邻接矩阵和邻接链表,然后在此基础上给出了图的深度优先搜索和广度优先搜索。本篇博客就在上一篇博客的基础上进行延伸,也是关于图的。今天博客中主要介绍两种算法,都是关于最小生成树的,一种是Prim算法,另一个是Kruskal算法。这两种算法是很经典的,也是图中比较重要的算法 ...
分类:
编程语言 时间:
2016-10-28 09:42:36
阅读次数:
366
1、图的遍历--深度优先搜索 2、图的遍历--广度优先搜索 ...
分类:
其他好文 时间:
2016-10-01 21:52:56
阅读次数:
224
题意:给你个二叉树,要求按深度下到上,输出每行的整数。 我的思路:我采用了广度优先搜索,并利用两个变量,来计算当前所遍历的深度,然后就把每个深度的整数都加入到容器里,一旦深度+1 就把该容器添加到总容器里。 ...
分类:
其他好文 时间:
2016-09-27 17:39:46
阅读次数:
180
迭代加深搜索 一、算法简介 迭代加深搜索是在速度上接近广度优先搜索,空间上和深度优先搜索相当的搜索方式。由于在使用过程中引入了深度优先搜索,所以也可以当作深度优先搜索的优化方案。 迭代加深搜索适用于当搜索深度没有明确上限的情况。 例如上图的一棵搜索树,在进行深度优先搜索前先规定好这次搜索的最大深度d ...
分类:
其他好文 时间:
2016-09-25 13:10:55
阅读次数:
190
一.图的基本数据结构 图是由一组顶点和一组能够将两个顶点相互连接的边所构成的,一般使用0~V-1这样的数字形式来表示一张含有V个顶点的图.用v-w来指代一张图的边,由于是无向图,因此v-w和w-v是同一种边的两种表示方法.无向图是指边没有方向的图结构在无向图中,边仅仅表示的是两个顶点之间的连接.图的 ...
分类:
编程语言 时间:
2016-09-06 22:44:32
阅读次数:
135
链接:http://acm.hust.edu.cn/vjudge/problem/51163分析:已知起点和终点可以利用双向广度优先搜索,正向扩展一层,反向扩展一层,为防止退化,优先扩展结点数多的方向。因为障碍物很多防止TLE,可以先把图除了‘#’抠下来,用cnt给位置编号,x[cnt],y[cnt ...
分类:
其他好文 时间:
2016-09-04 20:41:48
阅读次数:
131
广度优先搜索(Breadth-first Search)、深度优先搜索(Depth-first Search)算法面试题——LeetCode
分类:
编程语言 时间:
2016-08-27 00:36:52
阅读次数:
321
一:通用图结构
#ifndef _GRAPH_H
#define _GRAPH_H
#include
#include
#include
#include
using namespace::...
分类:
编程语言 时间:
2016-08-25 21:48:58
阅读次数:
119
搜索分为dfs(深度优先搜索)和bfs(广度优先搜索)。简单的爆搜: 适用于数据比较小或是访问数很少的情况,一般是初学者最开始接触的。剪枝搜索: 一般的爆搜不可行(TLE),在爆搜的基础上进行适当剪枝,有些题目需要强剪枝。这种题目难就难在如何剪枝,而不在搜的过程。一般会设置一个限制作为预估的条件,事 ...
分类:
其他好文 时间:
2016-08-22 21:40:23
阅读次数:
100