----- 递归搜索回溯
谙忆
Java相关研发架构工作经验5年。拥有Java相关发明专利8余项。从事过支付行业,研发与架构的系统稳定地支撑着公司日千万交易笔数量级的支付和对账。
二手车SaaS内核研发3年经验+,拥有二手车行业SaaS相关发明专利6项,研发、架构的元数据内核与权限系统,每日亿万级接口调用。
Java企业开发丰富的理论知识和实战经验。2020年CSDN博客之星第12名,同时在一些社区担任名誉职位。认证为CSDN博客专家、CSDN专栏签约作者、InfoQ签约作者、阿里云ACE杭州同城会会长、阿里云社区认证专家、华为云·云享专家。
展开
-
C语言---递归反向输出任意长度的字符串
(该字符串可以包含空格和回车!) 【题目要求】 编写一个递归函数,实现将输入的任意长度的字符串反向输出的功能。 例如输入字符串:ABCD,输出字符串:DCBA。【题目分析】 应用递归的思想有时可以很轻松地解决一些看似不太容易实现的功能。 本题就是利用递归方法解决这类问题的一个代表。要将一个字符串反向地输出,一般采用的方法是将该字符串存放到一个数组中,然后将数组元素反原创 2016-04-22 19:02:58 · 12740 阅读 · 0 评论 -
ZOJ(ZJU) 1002 Fire Net(深搜)
Suppose that we have a square city with straight streets. A map of a city is a square board with n rows and n columns, each representing a street or a piece of wall. A blockhouse is a small castle that原创 2016-04-23 05:40:20 · 3070 阅读 · 0 评论 -
HDOJ/HDU 1242 Rescue(经典BFS深搜-优先队列)
Problem Description Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M <= 200) matrix. There are WALLs, ROADs, and GUARDs in the prison.Angel’s原创 2016-07-10 17:09:07 · 8631 阅读 · 0 评论 -
HDOJ/HDU 1015 Safecracker(枚举、暴力)
Problem Description === Op tech briefing, 2002/11/02 06:42 CST === “The item is locked in a Klein safe behind a painting in the second-floor library. Klein safes are extremely rare; most of them, al原创 2016-06-14 16:43:57 · 3254 阅读 · 0 评论 -
HDOJ/HDU 1015 Safecracker(深搜)
Problem Description === Op tech briefing, 2002/11/02 06:42 CST === “The item is locked in a Klein safe behind a painting in the second-floor library. Klein safes are extremely rare; most of them, al原创 2016-06-14 17:15:28 · 7366 阅读 · 0 评论 -
HDOJ/HDU 1022 Train Problem I(模拟栈)
Problem Description As the new term comes, the Ignatius Train Station is very busy nowadays. A lot of student want to get back to school by train(because the trains in the Ignatius Train Station is th原创 2016-06-14 18:10:59 · 8684 阅读 · 0 评论 -
HDOJ/HDU Tempter of the Bone(深搜+奇偶性剪枝)
Problem Description The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, and the doggie could feel the ground sinking. He rea原创 2016-07-04 14:21:25 · 8850 阅读 · 0 评论 -
HDOJ/HDU 1241 Oil Deposits(经典DFS)
Problem Description The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a原创 2016-07-05 17:01:29 · 8584 阅读 · 0 评论 -
HDOJ/HDU 1372 Knight Moves(经典BFS)
Problem Description A friend of you is doing research on the Traveling Knight Problem (TKP) where you are to find the shortest closed tour of knight moves that visits each square of a given set of n s原创 2016-07-06 22:13:08 · 7998 阅读 · 0 评论 -
HDOJ/HDU 1180 诡异的楼梯(经典BFS-详解)
Problem Description Hogwarts正式开学以后,Harry发现在Hogwarts里,某些楼梯并不是静止不动的,相反,他们每隔一分钟就变动一次方向. 比如下面的例子里,一开始楼梯在竖直方向,一分钟以后它移动到了水平方向,再过一分钟它又回到了竖直方向.Harry发现对他来说很难找到能使得他最快到达目的地的路线,这时Ron(Harry最好的朋友)告诉Harry正好有一个魔法道具可原创 2016-07-10 16:25:08 · 9566 阅读 · 0 评论 -
深搜算法实例:老鼠走迷宫(一)
这个是简单的深搜,应该输入深搜中抛砖型的,联系下代码,回顾一下深搜的思想。 本题的要求是,在开始点(1,1)和终点(5,5)放一只老鼠,让老鼠找到一条路径走出去(暂时不考虑最短路径),找到后输出路径。 最简单的想法就是对于上下左右四个进行刨根型的搜索,找到就返回输出,进入死胡同了就原路返回,找最近的有其他路径的点,继续搜索,知道找出为止。 下面是代码部分。#include <stdio.h>转载 2015-08-22 11:56:17 · 3448 阅读 · 0 评论 -
穷举搜索:回溯与深搜
计算机常用算法大致有两大类,一类叫蛮力算法,一类叫贪心算法,前者常使用的手段就是搜索,对全部解空间进行地毯式搜索,直到找到指定解或最优解。【建立解空间】 问题的解应该如何描述,如何建立?借助图论的思想,我们可以用图来描述,图的定义为G,由顶点集和边集构成,顶点即实实在在的数 据、对象,而边可以抽象为关系,即顶点间的关系,这种关系不一定非要在数据结构上表现出来,用数据结构的语言来描述,如果关系是一对原创 2015-08-22 11:39:19 · 1518 阅读 · 0 评论 -
HDOJ 1312题Red and Black
Red and Black Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 13508 Accepted Submission(s): 8375Problem Description There is a rectangular原创 2015-08-22 10:59:23 · 1340 阅读 · 0 评论 -
深搜算法:倒油/面向对象的思想来做
题目:有一位厨师要从盛12斤油(a桶)的桶中倒出6斤油来,可是手边只有盛8斤油(b桶)和盛5斤油(c桶)的两个桶,问如何操作才能将6斤取出来呢?下面为JAVA实现代码: 主类:package cn.hncu.oil.dfs1;import cn.hncu.oil.common.Bucket;import cn.hncu.oil.common.DumpCase;import cn.hncu.oi原创 2016-03-13 02:21:07 · 1730 阅读 · 0 评论 -
汉洛塔递归实现的思考(C语言)
汉洛塔是古印度神话产生的智力玩具,他的玩法是,有三个柱子分别为A,B,C,A柱上面有n个盘子上面小下面大堆叠放在一起,现在要求激将A柱上的盘子全部移到C柱上面,并且一次只能移动一个盘子,必须是小盘在大盘的上面。现在要求用C语言递归来完成,并统计递归调用的次数。这个实现是递归的强大功能的体现,废话不多说,请看源码:#include<stdio.h>void move(int n,int *cnt,c转载 2015-12-17 20:48:53 · 2044 阅读 · 0 评论 -
HDOJ2063过山车 匈牙利算法
Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或PQK做partner,Grass只愿意和linle或LL做partner,PrincessSnow愿意原创 2015-09-21 21:03:21 · 1701 阅读 · 0 评论 -
【算法入门】广度/宽度优先搜索(BFS)
广度/宽度优先搜索(BFS)【算法入门】1.前言广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略。因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名。 一般可以用它做什么呢?一个最直观经典的例子就是走迷宫,我们从起点开始,找出到终点的最短路程,很多最短路径算法就是基于广度优先的思想转载 2015-08-28 10:54:09 · 1805 阅读 · 0 评论 -
HDOJ 1716 排列2(next_permutation函数)
这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件 下面是以前的笔记 与之完全相反的函数还有prev_permutation (1) int 类型的next_permutation int main() { int a[3]; a[0]=1;a[1]=2;a[2]=3; do { cout<#include < iostream >#include <原创 2015-08-27 16:33:26 · 1814 阅读 · 0 评论 -
HDOJ1253 胜利大逃亡 BFS
胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 29528 Accepted Submission(s): 11136Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这可是I原创 2015-08-27 16:12:24 · 1720 阅读 · 0 评论 -
HDOJ1175连连看 DFS
连连看 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 25178 Accepted Submission(s): 6230Problem Description “连连看”相信很多人都玩过。没玩过也没关系,下面我给大家介绍原创 2015-08-27 10:40:07 · 1709 阅读 · 0 评论 -
递归简论
/**f(x)=2f(x-1)+x^2;f(0)=0;**/#include <stdio.h>#include <stdlib.h>int f(unsigned int x){ if(x==0) return 0;//处理基准情况 //基准情形:你必须总要有某些基准的情形,它们不用递归就能求解 else return 2*f(x-1)原创 2015-08-26 16:12:09 · 1374 阅读 · 0 评论 -
HDOJ1181变形课 深搜回溯
变形课 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 18474 Accepted Submission(s): 6663Problem Description 呃……变形课上Harry碰到了一点小麻烦,因为他并不像Herm原创 2015-08-25 10:28:06 · 1173 阅读 · 0 评论 -
HDOJ1518Square 深搜
Square Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 11099 Accepted Submission(s): 3566Problem Description Given a set of sticks of var原创 2015-08-24 11:51:53 · 1005 阅读 · 0 评论 -
HDOJ 1016 Prime Ring Problem素数环【深搜】
Problem Description A ring is compose of n circles as shown in diagram. Put natural number 1, 2, …, n into each circle separately, and the sum of numbers in two adjacent circles should be a prime.Note原创 2016-03-17 19:35:15 · 1864 阅读 · 0 评论