Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary tree is defined as a binary tree in which the dept ...
分类:
其他好文 时间:
2017-06-13 11:29:54
阅读次数:
240
平衡二叉树是久闻大名了,但是因为其操作的繁琐以及存在更好的替代品所以没怎么接触(事实上是退队了以后就没怎么刷题 正巧这次期末考试就要考这个,那正好详细梳理一下知识: 平衡二叉树,其并没有字面上的那么平衡,其平衡程度能容忍任意节点的左子树高度与右子树高度的差之绝对值不超过1,为了理解方便,我们设定每个 ...
分类:
其他好文 时间:
2017-06-12 19:56:26
阅读次数:
165
https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/#/description 把升序数组转成一个height平衡二叉树。这个平衡两个字一开始吓到我了,后面发现用最直觉的方法转换的话,高度是保证平衡的,也就 ...
分类:
其他好文 时间:
2017-06-07 12:49:37
阅读次数:
135
1 二叉搜素树 查找分为静态查找和动态查找 静态查找中的二分法有很好的效果是因为事先对数据进行了有序的组织, 进而得到了类似于二叉判定树的结构 基于此, 是否可以让数据存储的时候直接使用这样的树形结构呢, 这就是二叉搜索树 1.1 查找 1.2 插入 1.3 删除 2 平衡二叉树 3 堆 4 哈夫曼 ...
分类:
其他好文 时间:
2017-06-02 21:12:24
阅读次数:
200
1、set容器元素必须是能够被排序的,如果元素是对象,默认排序规则不适用了,需要给它指定排序规则。 2、set容器的迭代器是一个常迭代器,只能读,不能通过迭代器,修改元素。 3、插入删除set元素,不会造成原有迭代器失效,肯定不是一个连续内存空间, 4、multiset唯一区别是,允许元素重复,底层 ...
分类:
其他好文 时间:
2017-05-29 21:05:58
阅读次数:
106
public class 平衡二叉树{ public class TreeNode { TreeNode left; TreeNode right; int val; TreeNode(int x) { this.val = x; } } // 获取深度 private int getDepth(T ...
分类:
编程语言 时间:
2017-05-28 12:27:09
阅读次数:
156
一、排序二叉树(BST树) 1.排序二叉树的定义 排序二叉树,Binary Sort Tree 排序二叉树要么是一棵空二叉树,要么是具有下列性质的二叉树: (1)若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值; (2)若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值; (3 ...
分类:
编程语言 时间:
2017-05-25 23:20:24
阅读次数:
241
推断的思路非常easy。若一棵树是平衡二叉树,它的左右子树都是平衡二叉树,而且左右子树的高度差小于等于1。注意。实现的时候,推断左右子树的平衡性时。能够顺便计算子树高度,不用再另外计算一次。以下是其递归实现: #include <iostream> using namespace std; stru ...
分类:
其他好文 时间:
2017-05-22 20:09:01
阅读次数:
129
二叉树遍历 C# 什么是二叉树 二叉树是每个节点最多有两个子树的树结构 (1)完全二叉树——若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第h层有叶子结点,并且叶子结点都是从左到右依次排布,这就是完全二 叉树。 (2)满二叉树——除了叶结点外每一个结点都有左 ...
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关 ...
分类:
其他好文 时间:
2017-05-19 23:41:57
阅读次数:
202