----搜索遍历
文章平均质量分 81
judyge
学习好 能力强。
展开
-
实现DFS之“农田灌溉”
这也是一道利用了DFS的题目,先说下我的思路:用一个二维数组记录每个字母所代表的含义(管道方向),用另一个二维数组记录4个方向的变换坐标;随后利用经典的DFS递归遍历即可~(还要注意在方向的处理上前后要保持一致,否则很容易计算出错 :| ) 农田灌溉(Farm Irrigation) 题目描述: Benny有一大片农田需要灌溉。农田是一个长方形,被分割成许转载 2015-05-08 19:02:19 · 449 阅读 · 0 评论 -
迷宫问题深度优先搜索----栈与递归
//============================================================================ // Name : DFS.cpp // Author : judyge // Version : // Copyright : Your copyright notice // Description :原创 2015-05-07 18:12:58 · 648 阅读 · 0 评论 -
求解迷宫问题的所有路径及最短路径程序
路障 路障 路障 路障 路障 路障 路障 入口 路障 路障 路障 路障 路障转载 2015-05-07 16:01:43 · 3791 阅读 · 0 评论 -
广度优先搜索 最短路径 队列
//============================================================================ // Name : Bfs.cpp // Author : judyge // Version : // Copyright : Your copyright notice // Description :原创 2015-05-07 17:55:16 · 729 阅读 · 0 评论 -
二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
一、基本概念 每个结点最多有两棵子树,左子树和右子树,次序不可以颠倒。 性质: 1、非空二叉树的第n层上至多有2^(n-1)个元素。 2、深度为h的二叉树至多有2^h-1个结点。 满二叉树:所有终端都在同一层次,且非终端结点的度数为2。 在满二叉树中若其深度为h,则其所包含的结点数必为2^h-1。 完全二叉树:除了最大的层次即成为一颗满转载 2015-05-06 15:01:08 · 594 阅读 · 0 评论 -
程序基本功之遍历二叉树
最近工作忙,没时间思考复杂的问题了。正好要招人就得有面试的嘛,自己也温习一下,要不然怎么去问别人。 今天复习一下二叉树的遍历,前序(pre-order,NLR)、中序(in-order,LNR)、后序(post-order,LRN)、层序(level-order),用和不用递归。 概念就不用多解释了,前、中、后是指根结点的访问时机,在左、右子树之前、中间、或之后。层序就是从根结点开始从转载 2015-05-06 15:02:04 · 535 阅读 · 0 评论 -
用深度优先搜索解迷宫问题
定义一个二维数组:int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的路线。程序如下: [cpp] vi转载 2015-05-05 22:24:33 · 831 阅读 · 0 评论 -
迷宫问题
广度优先搜索 #include "stdio.h" #define COL 10 #define ROW 10 #define BOOL int #define TRUE 1 #define FALSE 0 typedef struct plot { int col; int row; }Plot; int Maze[COL][ROW] = {转载 2015-05-05 22:29:58 · 469 阅读 · 0 评论 -
用广度优先搜索解迷宫问题
//By LYLtim #include const int di[4] = {0,1,0,-1}, dj[4] = {1,0,-1,0}; unsigned maze[5][5] = { 2, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,转载 2015-05-05 22:27:49 · 506 阅读 · 0 评论 -
师傅又被妖怪抓走了
描述 话说唐僧复得了孙行者,师徒们一心同体,共诣西方。自宝象国救了公主,承君臣送出城西,沿路饥餐渴饮,悟空便为师傅去化斋,等悟空回来,悟净慌慌张张的对悟空说:“不好了,不好了”,还没等悟净说完,悟空说:“师傅又被妖怪抓走了”,悟净:“NO!” ,悟空一脸茫然,悟净:“师傅和二师兄都被妖怪抓走了”。悟空(晕!)。为了防止悟空救人,妖怪先把唐憎和八戒分别藏起来,如果悟空在T分钟之后还没找到人,那原创 2015-05-01 15:17:09 · 731 阅读 · 0 评论 -
LeetCode Word Search
Given a 2D board and a word, find if the word exists in the grid. The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or vertically转载 2015-05-09 09:20:56 · 446 阅读 · 0 评论 -
实现DFS之“骨头的诱惑”
度优先搜索(DFS)是一个递归过程,有回退过程。 下面是一道OJ上的题目,借此来实现下DFS~ 题目来源: Zhejiang Provincial Programming Contest 2004,ZOJ2110 题目描述: 一只小狗在一个古老的迷宫里找到一根骨头,当它叼起骨头时,迷宫开始颤抖,它感觉到地 面开始下沉。它才明白骨头是一个陷阱,它拼命地试着逃出转载 2015-05-08 18:58:24 · 834 阅读 · 0 评论 -
实现BFS之“营救”
广度优先遍历(Breadth First Search,BFS)是一个分层的搜索过程,没有回退过程,是非递归的。 DFS与BFS的小秘密: 1、深度优先搜索算法的思路很简单,比较好理解,但得到的解不是最优的;而广度优先搜索则恰恰相反; 2、如果节点有无穷多个,深度优先搜索算法在某处分支可以无限搜索下去却找不到解,这时我们可以采用有界深度优先搜索~ 题转载 2015-05-08 19:06:13 · 541 阅读 · 0 评论 -
实现DFS之“油田”
油田”问题是一个比较经典的体现DFS思想的题目,经过学习,对DFS也有了一点理解,下面介绍下这个题目~ 题目来源: Mid-Central USA 1997,ZOJ1709,POJ1562 题目描述: GeoSurvComp地质探测公司负责探测地下油田。每次GeoSurvComp公司都是在一块长方形的土地上来探测油田。在探测时,他们把这块土地用网格分成若干个小块转载 2015-05-08 19:01:39 · 682 阅读 · 0 评论 -
LeetCode Word Ladder解题报告
Given two words (start and end), and a dictionary, find the length of shortest transformation sequence from start to end, such that: Only one letter can be changed at a time Each intermediate word m转载 2015-10-31 10:36:24 · 385 阅读 · 0 评论