二叉树是一种树形结构,它的特点是每个每个结点至多有两棵子树,二叉树有左、右子树之分,且左、右子树不能颠倒。二叉树及其变体树形结构在实际编程中使用的非常多,如:哈弗曼树,线索二叉树,红黑树等。
分类:
其他好文 时间:
2019-02-21 09:19:13
阅读次数:
177
未知出处 题意: 定义一个无穷长的数列,满足以下性质:$1.X_{2n}=-{X_{n}}$$2.X_{2n}=(-1)^{(n+1)}*X_{n}$$3.X_{2n-1}=(-1)^{(n+1)}*X_n$ 1e5个询问,求:$1.X_k$ $2.S_k$即前缀和 (大概是这样) 画一画递推式的图 ...
分类:
其他好文 时间:
2018-12-31 19:02:54
阅读次数:
176
本二叉树的功能为:创建二叉树,递归先根,中根,后根遍历,二叉树节点总数目,二叉树深度,二叉树叶子节点数,复制二叉树,寻找某节点是否存在并输出,交换左右子树,插入某节点。 下面介绍每种算法的主要思路: 1.创建二叉树:首先引入申请空间的指针节点。设叶子节点的左右子树均为零,每当遇到输入的数字为零时,将 ...
分类:
编程语言 时间:
2018-12-07 01:32:03
阅读次数:
205
原文:https://blog.csdn.net/yanerhao/article/details/45175943 面试题目或多或少会出现这样的选择题或者简答题: 首先我们得知道概念: 前序遍历:先访问当前节点,再访问当前节点的左子树,最后访问当前节点的右子树。对于二叉树,深度遍历与此同。规律:根 ...
分类:
其他好文 时间:
2018-11-27 17:11:21
阅读次数:
117
二叉树的深度(10分) 题目内容: 给定一棵二叉树,求该二叉树的深度 二叉树深度定义:从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的节点个数为树的深度 输入格式: 第一行是一个整数n,表示二叉树的结点个数。二叉树结点编号从1到n,根结点为1,n <= 10 接下来有n行, ...
分类:
其他好文 时间:
2018-11-13 16:15:41
阅读次数:
235
树 1.基本概念: ①树是n(n>=0)个节点的集合T,当n==0时,称为空树;当n>0时,该集合满足以下条件 ②必有个根节点,他没有直接前驱,有零个或多个后继。 ③其余n-1个结点划分成m(m>=0)个互不相交的有限集。每一个称为根的子树,每个子树的根节点有且仅有一个直接前驱,但有零个或多个直接后 ...
分类:
其他好文 时间:
2018-09-20 16:10:43
阅读次数:
196
对于一颗二叉树,深度优先搜索(Depth First Search)是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。以上面二叉树为例,深度优先搜索的顺序为:ABDECFG。怎么实现这个顺序呢 ?深度优先搜索二叉树是先访问根结点,然后遍历左子树接着是遍历右子树,因此我们可以利用堆栈的先进后出的特点 ...
分类:
其他好文 时间:
2018-08-30 12:26:05
阅读次数:
188
时间复杂度 访问插入以及O(1)O(n)容易混淆地方 满二叉树结点数=2*深度-1,如下图:2*4-1 =7 ...
分类:
其他好文 时间:
2018-08-29 14:41:00
阅读次数:
88
二叉树:每个结点至多有两个子树 满二叉树:每一层的结点个数都是最大结点数 完全二叉树:叶子节点在最后两层;对于任一结点,左子树的深度比右子树深度大1或者相等 性质: 二叉树:第i层,至多有2^(i-1)个结点 二叉树:深度为k的二叉树,至多有(2^k)-1个结点 满二叉树:深度为k的满二叉树的结点个 ...
分类:
其他好文 时间:
2018-08-27 23:17:05
阅读次数:
200
二叉树的问题,这里主要关心一下时间复杂度。 先回忆一下求二叉树深度的问题,T(n) = 2T(n/2)+1 -> O(n) 本题 T(n) = 2T(n/2) + O(n) -> O(nlogn) 最坏情况是O(n^2) 可以继续优化,一旦发现子树不是平衡的,返回-1,最后只要判断 f(root)! ...
分类:
其他好文 时间:
2018-08-25 11:38:17
阅读次数:
103