前几天学数据结构时做了一个实验是关于二叉树遍历的,下面代码我会分享几种遍历方式。 1 #include<iostream> 2 #include<stack> //头文件 3 #include<queue> //头文件 4 using namespace std; 5 typedef struct ...
分类:
其他好文 时间:
2020-05-10 13:06:11
阅读次数:
69
AC代码: #include<bits/stdc++.h> #define ll long long #define endl '\n' #define mem(a,b) memset(a,b,sizeof(a)) #define IO ios::sync_with_stdio(false);cin ...
分类:
其他好文 时间:
2020-05-09 21:06:35
阅读次数:
60
一、简介 二叉树的三种遍历方式我相信大家都了然于心,前序遍历、中序遍历、后序遍历。对于这三种遍历的递归实现,我们都不容易忘记。不过,对于非递归实现,我相信会有很多人会跟我一样,背了忘,再背再忘......(很多算法题都是这样,比如各种排序算法的实现)。经过认真观察思考后,发现实现起来是那么的简单,只 ...
分类:
其他好文 时间:
2020-05-09 09:11:48
阅读次数:
64
参考链接 Dijkstra算法 算法特点: 迪科斯彻算法使用了广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树。该算法常用于路由算法或者作为其他图算法的一个子模块。 算法的思路 Dijkstra算法采用的是一种贪心的策略,声明一个数组dis来保存源点到各个顶点的最短 ...
分类:
其他好文 时间:
2020-05-08 21:21:39
阅读次数:
90
什么是广度优先搜索? 如果只是是背概念,幼儿园的小朋友都能背下来念给你听。 假设看这篇文章的都和我一样是个前端工程师,我们要从广度优先搜索(BFS)中学到什么?如果你看完这篇文章能够回答这个问题,那么你已经看懂了。 广度优先搜索不是排序算法,它和快速排序、选择排序、冒泡排序等不一样,你听过二分查找吗 ...
分类:
编程语言 时间:
2020-05-08 16:08:39
阅读次数:
69
题目大意:一棵树,然后m个询问,每个询问有k个点,然后判断是否有一条路,要求这k个点要么在这条路上,要么和这条路相距为1. 题解:刚开始的思路是这样的,这条路的终点肯定是深度最深的那个点,然后用BFS找到从1到终点的路线,然后在对路径上的点和与路径直接相连的点进行判断,看这k个点是否都在其中,然后就 ...
分类:
其他好文 时间:
2020-05-08 13:06:29
阅读次数:
53
#include<bits/stdc++.h> using namespace std; #define N 2005 char s[N][N]; int n,m,vis[N][N],ans,f1[N],f2[N]; void dfs(int i,int j){ vis[i][j]=1; if(i+ ...
分类:
其他好文 时间:
2020-05-08 10:05:07
阅读次数:
62
涂色 有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newColor,让你重新上色这幅图像。为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像 ...
分类:
其他好文 时间:
2020-05-07 22:44:51
阅读次数:
73
Phillip and Trains 思路 读了一个假题,一开始我以为有四种走法,上,下,不动,右。然后直接wa我3次,,,, 题意是,人物先向右移动一格,然后可以选择向前,向后,或者不动,人物移动完之后,火车会向左移动两格。 可以理解为,人物先向右移动一格,然后选择向前,向后或者不动,进而再向右移 ...
分类:
其他好文 时间:
2020-05-07 20:00:43
阅读次数:
72
Define: 前序遍历 同二叉树前序遍历。 递归 非递归 后序遍历 同二叉树的后序遍历。 递归 非递归 ...
分类:
其他好文 时间:
2020-05-07 15:52:30
阅读次数:
65