维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同,B-树为系统最优化大块数据 ...
分类:
其他好文 时间:
2018-10-14 14:02:58
阅读次数:
164
? 书中第三章部分程序,加上自己补充的代码,平衡二叉搜索树 ● 平衡二叉搜索树 ...
分类:
编程语言 时间:
2018-10-14 01:51:24
阅读次数:
149
AVL树是高度平衡的而二叉树。它的特点是:AVL树中任何节点的两个子树的高度最大差别为1。 AVL树本质上还是一棵二叉搜索树,它的特点是: 1.本身首先是一棵二叉搜索树。 2.带有平衡条件:每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1。 也就是说,AVL树,本质上是带了平衡功能的二叉查找 ...
分类:
编程语言 时间:
2018-10-13 16:55:47
阅读次数:
257
144_二叉树的前序遍历 [TOC] 描述 给定一个二叉树,返回它的 前序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 方法一:递归 Java 代码 复杂度分析: 时间复杂度:$O(n)$,其中,$n?$ 为二叉树节点的数目 空间复杂度:$O(n)$ 方法二:非递归(使用栈) ...
分类:
其他好文 时间:
2018-10-12 01:27:55
阅读次数:
176
题目描述 现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度 输入描述: 输入的第一行表示节点的个数n(1 ≤ n ≤ 1000,节点的编号为0到n-1)组成, 下面是n-1行,每行有两个整数,第一个数表示父节点的编号,第二个数表示子节点的编号 输出描述: ...
分类:
其他好文 时间:
2018-10-11 01:43:07
阅读次数:
197
一、树的介绍 1. 树的定义 树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。 把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:(01) 每个节点有零个或多个子节点;(02) 没有父节点的节点称为根节点;(03) 每一个非根节 ...
分类:
其他好文 时间:
2018-10-08 00:43:31
阅读次数:
184
AVL树的介绍 AVL树是高度平衡的而二叉树。它的特点是:AVL树中任何节点的两个子树的高度最大差别为1。 上面的两张图片,左边的是AVL树,它的任何节点的两个子树的高度差别都<=1;而右边的不是AVL树,因为7的两颗子树的高度相差为2(以2为根节点的树的高度是3,而以8为根节点的树的高度是1)。 ...
分类:
编程语言 时间:
2018-10-07 14:42:50
阅读次数:
175
二叉树的层序遍历 二叉树叶节点输出算法 求二叉树的高度 层序创建一棵二叉树 ...
分类:
编程语言 时间:
2018-10-06 16:35:08
阅读次数:
155
题目链接 题目描述 平衡二叉树,顾名思义就是一棵“平衡”的二叉树。在这道题中,“平衡”的定义为,对于树中任意一个节点,都满足左右子树的高度差不超过 d. 空树的高度定义为0,单个节点的高度为1,其他情况下树的高度定义为根节点左右子树高度最大值 + 1. 一棵在高度上平衡的树,节点数可能不平衡,因此再 ...
分类:
其他好文 时间:
2018-10-02 20:26:17
阅读次数:
116
一、题目 1、审题 2、分析 给出一棵二叉树,判断其是否是一棵二叉平衡树。 二、解答 1、思路: 方法一、 采用递归; 每次获取 root 结点的左子树、右子树的高度,比较高度差是否小于等于 1; 同时判断左子树、右子树是否也是二叉平衡树。 方法二、 采用深度优先遍历的方式获取深度,并且获取时比较该 ...
分类:
其他好文 时间:
2018-10-01 17:13:19
阅读次数:
180