二叉树的遍历 题型 此类题做法 1.定义节点 2.构造二叉树{ a.边界条件 b.建立新节点root 存入根节点数据(由后序或先序 c. k 遍历中序,找到相等的值 d. 得出左子树个数(中序的 ) e.返回左子树根节点地址,返回右子树根节点地址,return root; 3.层次遍历{ a.创建队 ...
分类:
其他好文 时间:
2020-07-21 14:18:40
阅读次数:
61
1. 搜索算法 在树(图/状态集)中寻找特定节点 深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构。 图上的搜索算法就是,在图中找出从一个顶点出发,到另一个顶点的路径。图上的搜索算法有深度优先、广度优先搜索算法,和A*A?、IDA*IDA? 等启发式搜索算法。 广度优先搜索和深度优先搜索 ...
分类:
编程语言 时间:
2020-07-19 23:30:25
阅读次数:
103
问题描述 给定一个可包含重复数字的序列,返回所有不重复的全排列。 示例: 输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]] 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations-ii 解答 ...
分类:
其他好文 时间:
2020-07-19 17:55:22
阅读次数:
60
太久没学OI了, 代码都不会写了, 先写一篇BFS练练手, 是我太菜了qwq #include<cstdio> #include<queue> #include<iostream> #include<cstring> using namespace std; struct node{ int x,y ...
分类:
其他好文 时间:
2020-07-19 16:30:54
阅读次数:
69
迷宫问题:定义一个矩阵: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
此题和之前的剑指offer32-I、II.从上到下打印二叉树大致相同在BFS的基础上只是添加了一个重排序的过程。具体代码如下: 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * st ...
分类:
其他好文 时间:
2020-07-18 11:18:07
阅读次数:
58
P1126 机器人搬重物【普及+/提高】题解 (最近给新来的同学们讲了讲广搜,正好巩固一下,所以最近广搜的题解比较多) 这道题是广搜里面细节很多的一道。 首先,我们要预处理一下输入数据。输入数据只表现了哪些点有障碍物,由于 机器人的形状是一个直径1.6米的球。 所以障碍物上下左右相邻的格子都是无法到 ...
分类:
其他好文 时间:
2020-07-17 14:05:31
阅读次数:
70
BFS 解法: private final void addRow(Stack<TreeNode> stack, int v) { while (!stack.empty()) { TreeNode node = stack.pop(); TreeNode newNodeLeft = new Tre ...
分类:
其他好文 时间:
2020-07-17 13:49:00
阅读次数:
51
思路染色问题,可以使用dfs,也可以使用bfs代码class Solution { boolean valid = true; int[][] graph; public boolean isBipartite(int[][] graph) { this.graph = graph; int n =... ...
分类:
其他好文 时间:
2020-07-16 21:42:04
阅读次数:
58
终于自己做出来一道。。。 递归思路1 参考递归求解最大深度,构造新函数,将节点当前路径和当作额外参数传入 这个题比较特殊的地方在于,必须是叶子节点所在的路径才有效,因此在return true的条件中加入了left right均为`nullptr 返回时使用||不影响某个分支上的正确结果 class ...
分类:
其他好文 时间:
2020-07-16 21:16:11
阅读次数:
50