A*是一种搜索算法,一般基于一个估价函数f(x) = g(x) + h(x),通过这个函数来进行有方向的搜索以提高搜索的效率(而不是bfs、dfs那样的盲目搜索)其中g(x)指从初始状态到当前状态的花费,h(x)为当前状态到终状态的最小花费,以两者之和来估计起始状态到终状态的总花费f(x)在A*算法 ...
分类:
编程语言 时间:
2020-04-22 10:23:20
阅读次数:
79
(1)深度优先 1 #include <stdio.h> 2 int book[101],sum = 0,n,e[101][101]; 3 void dfs(int cur) 4 { 5 int i; 6 printf("%d",cur); 7 sum++; 8 if(sum == n) 9 { 1 ...
分类:
其他好文 时间:
2020-04-21 18:40:24
阅读次数:
46
题目: 幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。 首先从1开始写出自然数1,2,3,4,5,6,.... 1 就是第一个幸运数。 我们从2这个数开始。把所有序号能被2整除的项删除,变为: 1 _ 3 _ 5 _ 7 _ 9 .... 把它们缩紧,重新记序,为: 1 3 5 ...
分类:
其他好文 时间:
2020-04-21 00:24:42
阅读次数:
99
这种在图中找岛屿的题目我们在前面已经讲过了,这个题目同样属于这类题目,我们很自然想到的就是DFS和BFS方法。 一、题目描述 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外 ...
分类:
其他好文 时间:
2020-04-20 12:04:17
阅读次数:
55
Given n integers, your task is to pick k out of them so that the picked number are minimum when do bitwise “AND” among all of them. For example, there ...
分类:
其他好文 时间:
2020-04-20 11:39:23
阅读次数:
56
Linova and Kingdom 主要是求一个节点的深度和它子节点的个数,然后深度减去子节点个数来保证,如果它后边有工业城市所带来的影响 主要是是用dfs int dfs(int x,int step){ vis[1]=1; len[x]=step; int t=0; for(int i=0;i ...
分类:
其他好文 时间:
2020-04-19 11:20:30
阅读次数:
74
以前自学数据结构和算法的时候,回溯算法一直没涉及到,当时只听过,也没用过,这两天看到一个数独问题的博客,看下来居然一脸懵逼,这肯定是不能接受的,所以一鼓作气把回溯算法好好品了品,赶紧记下来,巩固一下。 回溯算法,简单来说,其实就是对解空间的一种深度优先搜索(DFS:Depth-First-Searc ...
分类:
编程语言 时间:
2020-04-19 01:04:55
阅读次数:
73
Examples input Copy 31 21 3 output Copy 0 input Copy 51 22 33 44 5 output Copy 2 Note Tree definition: https://en.wikipedia.org/wiki/Tree_(graph_theor ...
分类:
其他好文 时间:
2020-04-19 00:30:02
阅读次数:
83
算法 二分图+最小独立集 思路 在日字形内两点连边(1),必处于不同色格子(0)。为二分图。要互不相扰,求最大独立集。 核心 最大匹配 bool dfs(int x, int y) { for (int i = 0; i < 8; i++) { int nx = x + dx[i], ny = y ...
如何对NameNode中数据持久化 FsImage:保存NameNode当前这一时刻数据状态 Editslog:日志文件,只记录client到hdfs写操作(二进制文件) Editslog和FsImage会定期合并,这项任务由SecondNameNode执行,当在合并的时候,客户端执行的写操作不再写 ...
分类:
其他好文 时间:
2020-04-18 12:14:46
阅读次数:
64