1. 搜索算法 在树(图/状态集)中寻找特定节点 深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构。 图上的搜索算法就是,在图中找出从一个顶点出发,到另一个顶点的路径。图上的搜索算法有深度优先、广度优先搜索算法,和A*A?、IDA*IDA? 等启发式搜索算法。 广度优先搜索和深度优先搜索 ...
分类:
编程语言 时间:
2020-07-19 23:30:25
阅读次数:
103
851. 喧闹和富有 描述: 思路:深度优先(带记忆)。 这个题有点秒。。 853. 车队 描述: 思路: 我们首先对这些车辆按照它们的起始位置降序排序,并且用 (target - position) / speed 计算出每辆车在不受其余车的影响时,行驶到终点需要的时间。对于相邻的两辆车 S 和 ...
分类:
其他好文 时间:
2020-07-19 23:17:22
阅读次数:
92
迷宫问题:定义一个矩阵:0 1 0 0 00 1 0 1 00 0 0 0 00 1 1 1 00 0 0 1 0它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。【输入】一个5 × 5的二维数组,表示一个迷宫。数据保证有唯 ...
分类:
其他好文 时间:
2020-07-19 15:54:32
阅读次数:
59
P1126 机器人搬重物【普及+/提高】题解 (最近给新来的同学们讲了讲广搜,正好巩固一下,所以最近广搜的题解比较多) 这道题是广搜里面细节很多的一道。 首先,我们要预处理一下输入数据。输入数据只表现了哪些点有障碍物,由于 机器人的形状是一个直径1.6米的球。 所以障碍物上下左右相邻的格子都是无法到 ...
分类:
其他好文 时间:
2020-07-17 14:05:31
阅读次数:
70
终于自己做出来一道。。。 递归思路1 参考递归求解最大深度,构造新函数,将节点当前路径和当作额外参数传入 这个题比较特殊的地方在于,必须是叶子节点所在的路径才有效,因此在return true的条件中加入了left right均为`nullptr 返回时使用||不影响某个分支上的正确结果 class ...
分类:
其他好文 时间:
2020-07-16 21:16:11
阅读次数:
50
递归(Recursion)算法思想递归算法是一种调用自身函数的算法(二叉树的许多性质在定义上就满足递归)。递归的基本性质就是函数调用,在处理问题的时候,递归往往是把一个大规模的问题不断地变小然后进行推导的过程。 举例:(汉诺塔问题)有三个塔 A、B、C,一开始的时候,在塔 A 上放着 n 个盘子,它 ...
分类:
编程语言 时间:
2020-07-14 00:42:37
阅读次数:
70
解题思路: 题目要求的二叉树的 从上至下 打印(即按层打印),又称为二叉树的 广度优先搜索(BFS)。 BFS 通常借助 队列 的先入先出特性来实现。 算法流程:特例处理: 当树的根节点为空,则直接返回空列表 [] ;初始化: 打印结果列表 res = [] ,包含根节点的队列 queue = [r ...
分类:
其他好文 时间:
2020-07-14 00:36:31
阅读次数:
69
不得不说字节还是很难进的,提前批算是去试了一个水,自己的算法功底,还远远达不到要求,对操作系统,java虚拟机,多线程,进程等知识还有很大的欠缺,深度还远远不够,所以还是努力的刷题吧,希望秋招能顺利进入字节。 以下是主要问到的问题: 进程的信号量,线程的信号量,线程的中断, B+ 树, 手撕了一道算 ...
分类:
其他好文 时间:
2020-07-12 14:19:51
阅读次数:
91
算法的开章,递归是实现其他高级算法如深度优先、分治等的基础; 碰到一个题目就找它的重复性,重复性有最近的重复性(根据重复性怎么构造怎么分解-->分治、回溯等办法,本质就是递归),或者最优重复性(即动态规划)。 本质上就是找它的重复性。 找重复性以及分解问题,最后组合每个子问题的结果。 1. 分治 D ...
分类:
编程语言 时间:
2020-07-11 19:23:28
阅读次数:
48
N个城市,编号1到N。城市间有R条单向道路。每条道路连接两个城市,有长度和过路费两个属性。Bob只有K块钱,他想从城市1走到城市N。问最短共需要走多长的路。如果到不了N,输出-12<=N<=1000<=K<=100001<=R<=10000每条路的长度 L, 1 <= L <= 100,每条路的过路 ...
分类:
其他好文 时间:
2020-07-08 18:21:18
阅读次数:
47