题目:从两个数组的最后一个元素开始比较,输出数组中不同元素的个数。当一个数组的所有元素比较完成后,结束比较。a数组长度5,b数组长度3,a[ 4 ]和b[ 2 ]比较。 例: 输入: 77 21 1 3 5 1 3 5 输出: 0 输入: 77 21 1 3 5 7 1 3 5 输出: 3 代码: ...
分类:
编程语言 时间:
2018-09-22 14:43:58
阅读次数:
158
树的遍历通常使用递归,因为它的实现更简单,代码也更容易理解。 但在面试,或者特殊的情境中会使用到迭代算法(非递归)。 此时需要使用栈去模拟函数栈调用过程。 本文将给出一段代码去实现这三种遍历 相比于传统的方式:前序遍历,中序遍历,后序遍历,使用不同的方式代码去实现,并且后续遍历更为难理解一些 可拓展 ...
分类:
其他好文 时间:
2018-09-20 11:05:20
阅读次数:
224
https://nanti.jisuanke.com/t/31443 题意 给出一个表达式,求最小值和最大值。 表达式中的运算符只有'+'、'-'、'*'、'd',xdy 表示一个 y 面的骰子 roll x 次的和,其中x>=0,y>=1,实际上它的最小值就是x,小于0时要强制变为0,最大值就是 ...
分类:
其他好文 时间:
2018-09-19 19:59:39
阅读次数:
165
判断该树是不是平衡的二叉树。如果某二叉树中任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。方法一:先序遍历 1.计算节点深度 2.递归判断是否平衡 上面的“先序遍历”判断二叉树平衡的方法,时间复杂度比较大。因为,二叉树中的很多结点遍历了多次。 方法二:后序遍历 ...
分类:
其他好文 时间:
2018-09-18 00:34:28
阅读次数:
150
Dev C++图形环境配置 本文是以Dev C++5.11和ege15.04为例 1、创建新项目:文件—>新建—>项目 后序按照常规设置路径 2、设置include、lib路径 a)右键(项目管理)项目名—>项目属性—>文件/目录—>包含文件目录—>点击图片红框—>选择ege中include所在位置 ...
分类:
编程语言 时间:
2018-09-17 23:03:03
阅读次数:
461
有向图强连通分量算法,包括Kosaraju算法,Tarjin算法,Gabow算法,本文介绍Kosaraju算法。 Kosaraju算法需要对图进行两遍dfs。 step1:对原图G进行深度优先遍历,记录每个节点的离开时间(后序遍历,将点压栈)。 step2:选择具有最晚离开时间的顶点(出栈),对逆图 ...
分类:
其他好文 时间:
2018-09-15 22:00:22
阅读次数:
163
后序遍历,把每个节点的后序遍历用字符串保存下来。 时间复杂度,T(n)=2T(n/2)+n (字符串处理) = O(nlogn),最坏 O(n^2)。 空间复杂度,每个节点都要字符串来存,O(n^2)。 ...
分类:
其他好文 时间:
2018-09-14 10:54:31
阅读次数:
121
转自: https://blog.csdn.net/soundwave_/article/details/53120766 二叉树的遍历分为以下三种: 先序遍历:遍历顺序规则为【根左右】 中序遍历:遍历顺序规则为【左根右】 后序遍历:遍历顺序规则为【左右根】 什么是【根左右】?就是先遍历根,再遍历左 ...
分类:
其他好文 时间:
2018-09-12 15:57:03
阅读次数:
134
树的递归遍历非常简单,也是写树的遍历时最常用的写法。但是我发现自己对树的非递归遍历并不十分熟悉,所以把三种非递归遍历都写了一遍,以后看到这篇记录博客也可以帮助自己好好回想熟悉一下。 Leetcode对应习题:前序,中序,后序。 相对而言,这三种非递归遍历的难度——前序 < 中序 < 后序。 对于第三 ...
分类:
其他好文 时间:
2018-09-12 00:01:59
阅读次数:
237
已知一棵二叉树的前序和后序遍历,不一定能重建唯一的二叉树呢? 原因在于,当一个根只有一颗子树时,通过前序遍历和后序遍历,无法确定该子树是这个根的左子树还是右子树 abdegcf,dgebfca 单子树的个数通过判定前序除了第一个根节点a外其他字母的前一个字母 和后序除了最后一个根结点a外其他字母的后 ...
分类:
其他好文 时间:
2018-09-11 21:22:36
阅读次数:
159