概述 堆是一颗完全二叉树。分为大根堆(父节点>=所有的子节点)和小根堆(父节点<=所有的子节点)。 插入、删除堆顶都是O(logN),查询最值是O(1)。 完全二叉树(Complete Binary Tree) 若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数, ...
分类:
其他好文 时间:
2019-08-11 16:57:08
阅读次数:
97
思路:用递归思想,不停往下找节点,找到一个节点加1 ...
分类:
编程语言 时间:
2019-08-10 11:45:34
阅读次数:
99
一、原理 ? 归并算法是采用分治法(Devide and Conquer)的一个典型应用,即先保证每个子序列有序,再将子序列进行合并,处理使得合并后的子序列有序,如此逐步得到一个有序的序列。 ? 归并算法在实现上分为自下向上的迭代归并排序和自上向下的递归式的归并排序。下面将分别以代码形式实现两种实现 ...
分类:
编程语言 时间:
2019-07-31 22:08:54
阅读次数:
143
1、题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 2、代码实现 ...
分类:
其他好文 时间:
2019-07-14 09:31:09
阅读次数:
111
给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 算法:递归即可。 ...
分类:
其他好文 时间:
2019-07-10 23:02:10
阅读次数:
109
主要内容: 1. 二叉树遍历(先序、中序、后序、宽度优先遍历)的迭代实现和递归实现; 2. 二叉树的深度,二叉树到叶子节点的所有路径; 首先,先定义二叉树类(python3),代码如下: 内容1:二叉树的遍历 二叉树的遍历分深度优先遍历(DFS)和宽度优先遍历(BFS)。其中深度优先遍历又分为先序遍 ...
分类:
编程语言 时间:
2019-06-25 16:42:49
阅读次数:
110
树的基本概念: 树的度—— 树中最大的结点度数 双亲—— 孩子结点的上层结点叫该结点的双亲 兄弟—— 同一双亲的孩子之间互成为兄弟 祖先—— 结点的祖先是从根到该结点所经分支上的所有结点 子孙—— 以某结点为根的子树中的任一结点都成为该结点的子孙 结点的层次—— 从根结点算起,根为第一层,它的孩子为 ...
分类:
其他好文 时间:
2019-05-04 18:41:51
阅读次数:
139
最近公共祖先 PS: 如果一棵二叉树的结点要么是叶子结点,要么它有两个子结点,这样的树就是满二叉树。 若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。 等比数列通项公式、求和公式 then,看题 x的祖 ...
分类:
其他好文 时间:
2019-05-02 21:46:55
阅读次数:
129
二叉树数据结构表示及基本操作算法实现 1、所加载的库函数或常量定义及类的定义: 2、二叉树存储结构定义:链式存储 结点类: 3、二叉树递归遍历算法(3种) 注:已知树的根结点 和测试文件中增加visit函数 得到按三种树的序遍历(起到显示结点值作用-并不好用【第4题种自行定义了showmid函数按中 ...
分类:
编程语言 时间:
2019-05-02 11:43:26
阅读次数:
222
时间限制:1秒 空间限制:32768K 热度指数:139716 题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 直接递归 /* struct TreeNode { int val; struct TreeNode * ...
分类:
其他好文 时间:
2019-03-31 13:46:40
阅读次数:
131