极端退化 前面所提到的二叉搜索树,已经为我们对数据集进行高效的静态和动态操作打开了一扇新的大门。正如我们所看到的,BST从策略上可以看作是将之前的向量(动态数组)和链表结构的优势结合起来,不过多少令我们有些失望的是:目前所实现的BST还有些稚嫩,表现在它的时间复杂度在极端情况仍未得到有效的控制。根据 ...
分类:
其他好文 时间:
2017-12-22 21:51:19
阅读次数:
204
本篇随笔主要从以下三个方面介绍树的平衡: 1):BST不平衡问题 2):BST 旋转 3):AVL Tree 一:BST不平衡问题的解析 之前有提过普通BST的一些一些缺点,例如BST的高度是介于lgN和N之间的,如果是N的的话,显然效率很低,不是我们需要的;但是在实际情况中,BST的高度h = N ...
分类:
其他好文 时间:
2017-12-16 16:06:20
阅读次数:
131
平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下性质的二叉树:它的左子树和右子树的深度之差的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。 最小不平衡子树:指离插入节点最近且以平衡因子的绝对值大于1的节点作为根的子树。 平衡因子(bf):结点的左子树的深度减去右子树的深度,那么显然 ...
分类:
其他好文 时间:
2017-12-16 14:48:18
阅读次数:
124
题目 Sample Input 1: 5 88 70 61 96 120 Sample Output 1: 70 Sample Input 2: 7 88 70 61 96 120 90 65 Sample Output 2: 88 基本思路 考差了AVL树的插入操作,插入可以用一个递归函数完成,比 ...
分类:
其他好文 时间:
2017-12-08 11:58:50
阅读次数:
147
AVL树基本操作 未完....待续.... AVL树代码 ...
分类:
编程语言 时间:
2017-12-08 01:19:33
阅读次数:
240
AVL树的定义 在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下的时间复杂度都是。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者G. M. Adels ...
分类:
编程语言 时间:
2017-11-27 23:46:33
阅读次数:
234
Travis-CI是为github量身打造的自动集成环境,如果我们的项目托管在github上,可以十分方便的使用Travis-CI做自动集成。 使用Travis-CI十分的简单,首先打开Travis-CI网站https://travis-ci.org,使用github的账号授权登录即可。 githu ...
分类:
其他好文 时间:
2017-11-17 19:59:32
阅读次数:
140
SP的提出时间比CoSaMP提出时间稍晚一些,但和压缩采样匹配追踪(CoSaMP)的方法几乎是一样的。SP与CoSaMP主要区别在于“In each iteration, in the SP algorithm, only K new candidates are added, while theC ...
分类:
编程语言 时间:
2017-11-02 11:29:25
阅读次数:
303
基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA开发环境,注意必须是32位的软件。 Ardupilot飞控源码 PX4 toolchain JAVA ...
分类:
系统相关 时间:
2017-10-22 01:33:48
阅读次数:
344