用C/C++编写二叉树的前序遍历,中序遍历,后序遍历(递归) 使用辅助队列的层序遍历(非递归) 特别说明一下层次遍历:借助一个队列,先将二叉树根结点入队,然后出队,访问出队结点,若它有左子树,则将左子树根结点入队;若它有右子树,则将右子树树根结点入队。然后出队,访问出队结点.......如此反复,直 ...
分类:
其他好文 时间:
2020-07-23 16:22:22
阅读次数:
66
二叉树重建 问题:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重 复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解决: #递归一 # class Tree ...
分类:
其他好文 时间:
2020-07-23 16:17:32
阅读次数:
71
根据BST的前序遍历重建BST 1. 平均O(NlogN) 最坏O(N^2) class Solution { public: TreeNode* dfs(int l, int r, vector<int>& p) { if (l > r) return nullptr; TreeNode* nod ...
分类:
其他好文 时间:
2020-07-23 16:13:09
阅读次数:
67
简介:XML是一个可扩展标记预言,用来进行数据交换,支持跨平台,常见解析方式有DOM、SAX、DOM4J、JDOM等。 一、DOM解析 1. 特点: A. 树结构,方便遍历,可以随机访问某一个节点; B. 数据是一次性读取到内存中。 二、SAX解析 1. 特点: A. 采用事件驱动模式,占用内存小; ...
分类:
编程语言 时间:
2020-07-23 15:58:33
阅读次数:
75
1?? 利用拓扑排序算法,在拓扑排序算法结束后,如果还有顶点没有输出,则说明剩下这些结点都还有前驱,则它们构成一个有向回路 2?? 设有向图具有n个顶点,若该图的边数e≥n,则该图一定有一个闭合的环 3?? 设有向图具有n个顶点,若该图的每个顶点的出度至少为1,入度也至少为1,则图中一定有回路 4? ...
分类:
其他好文 时间:
2020-07-23 15:47:10
阅读次数:
147
1.indexOf() 1 function unique(arr){ 2 var array = []; 3 for(var i = 0, len = arr.length; i < len; i++){ 4 if(array.indexOf(arr[i]) -1){ 5 array.push(a ...
分类:
编程语言 时间:
2020-07-23 09:19:56
阅读次数:
73
https://cloud.tencent.com/developer/devdocs 1.设计原则(1)YAGNIYou Aren't Gonna Need It,你不会需要它;不写不需要的功能 (2)KISSKeep It Simple and Stupid,让你的代码越简单/傻瓜越好(3)OC ...
分类:
其他好文 时间:
2020-07-23 01:46:57
阅读次数:
121
一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。 原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集 ...
分类:
编程语言 时间:
2020-07-22 21:03:06
阅读次数:
91
转自:链接 在工作和学习中,经常碰到删除ArrayList里面的某个元素,看似一个很简单的问题,却很容易出bug。不妨把这个问题当做一道面试题目,我想一定能难道不少的人。今天就给大家说一下在ArrayList循环遍历并删除元素的问题。首先请看下面的例子: import java.util.Array ...
分类:
其他好文 时间:
2020-07-22 20:47:57
阅读次数:
86
js中除了有我们常见的五种数据结构,还有Set和Map两种数据类型。 一.Set 无重复列表类型 特点: 1.没有下标,不是按照下标存储,但是是有序的,因此不能使用下标循环遍历 2.没有重复元素,任何元素存在唯一性,因此可以用来作去重处理,存储不重复的数据, 3.插入速度和删除速度非常快,遍历查找速 ...
分类:
Web程序 时间:
2020-07-22 20:29:04
阅读次数:
73