平衡二叉树(Balanced Binary Tree?或?Height Balanced Tree)又称AVL树 (a)和(b)都是排序二叉树,但是查找(b)的93节点就需要查找6次,查找(a)的93节点就需要查找3次,所以(b)的效率不高。 平衡二叉树(Balanced Binary Tree 或 ...
分类:
其他好文 时间:
2018-08-14 22:01:28
阅读次数:
163
B树: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中; 否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入 右儿子;如果左儿子或右儿子的指针为空,则报告找不到相应的关键字; 但是,B树会存在一个问题,就是不平衡的问题,B树可能会线性搜索,所以,实 ...
分类:
其他好文 时间:
2018-08-11 15:43:52
阅读次数:
127
数据结构 栈,队列,链表 ?哈希表,哈希数组 ?堆,优先队列 双端队列 可并堆 左偏堆 ?二叉查找树 Treap 伸展树 ?并查集 集合计数问题 二分图的识别 ?平衡二叉树 ?二叉排序树 ?线段树 一维线段树 二维线段树 ?树状数组 一维树状数组 N维树状数组 ?字典树 ?后缀数组,后缀树 ?块状链 ...
分类:
编程语言 时间:
2018-08-10 15:59:19
阅读次数:
175
题目描述 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定的有序链表: [-10, -3, 0, 5, 9], 一个可能的答案是:[0, -3, 9, -10, null ...
分类:
其他好文 时间:
2018-08-09 17:25:27
阅读次数:
127
algorithm sort快排 binary_search二分查找 stack queue set/multiset multiset/set使用平衡二叉树的数据结构,插入和查找时间复杂度都是log n。 multiset和set的用法相同,只有一个区别: 1、multiset中可以出现重复的元素 ...
分类:
编程语言 时间:
2018-08-08 12:06:17
阅读次数:
153
1.二叉树 特点:二叉树每个节点最多只有两个子节点, 分为左右子树, 且左子树 < 节点 < 右子树。 时间复杂度: O(logn), 存在中序、前序、后序遍历。 2.AVL树 特点:自平衡二叉树, 通过旋转来平衡二叉树的高度, 适用于查找多操作少的条件。 时间复杂度: 找、插入和删除在平均和最坏情 ...
分类:
其他好文 时间:
2018-08-04 19:05:11
阅读次数:
141
数据结构:链表、栈、队列:链表插入元素。Huffman树:树的构建。二叉树、平衡二叉树:树的遍历(前序中序后序),查找树中两个元素和为某个值的叶子节点。堆:大(小)顶堆构建,topN的数。排序:冒泡排序,插入排序。查找:二分查找,快速查找。高级数据结构:动态规划、分治算法机器学习: 监督学习算法: ...
分类:
其他好文 时间:
2018-08-02 19:17:48
阅读次数:
132
function TreeNode(val) { this.value = val;}var sortedArrayToBST = function (nums) { if (nums.length 0) { return null; } if (nums.length 1) { return ne ...
分类:
编程语言 时间:
2018-08-01 11:52:19
阅读次数:
325
B+树和二叉树、平衡二叉树一样,都是经典的数据结构。B+树由B树和索引顺序访问方法(ISAM,是不是很熟悉?对,这也是MyISAM引擎最初参考的数据结构)演化而来,但是在实际使用过程中几乎已经没有使用B树的情况了。 B+树的定义十分复杂,因此只简要地介绍B+树:B+树是为磁盘或其他直接存取辅助设备而 ...
分类:
其他好文 时间:
2018-07-29 20:06:28
阅读次数:
154
题目 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 思路 递归判断,先判断自身左右子树高度差,再递归判断左右子树是否为平衡二叉树; ...
分类:
其他好文 时间:
2018-07-26 19:58:06
阅读次数:
106