数据结构
数据结构
树
树的的特性
- 一个二叉树第i层的最大节点数:2^(i-1) ,i>=1
- 深度为K的最大节点树为 2^k - 1
- 对于任何非空二叉树,若n0表示叶节点的个数,n2表示度为2的个数,那么关系为n0 = n2 + 1
完美二叉树(满二叉树)
- 除了叶子结点之外的每一个结点都有两个孩子,每一层(当然包含最后一层)都被完全填充。
完全二叉树
- 除了最下下一层的叶节点外,每层节点都有2个子节点
- 且最后一层从左向右的叶节点连续存在,只缺右侧若干节点
- 完美二叉树是特殊的完全二叉树
完满二叉树
- 除了叶子节点,其余节点都有2个孩子节点
二叉搜索树
特性
- 非空左子树小于根节点
- 非空右子树大于根节点
- 左右子树本身也都是二叉搜索树
验证二叉搜索树
function isValidBSTSUb(root, lower, upper) {
if (!root) return true;
if ((lower != null && root.val <= lower) || (upper != null && root.val >= upper)) return false;
return isValidBSTSUb(root.left, lower, root.val) && isValidBSTSUb(root.right, root.val, upper)
}