一棵AVL树是其每个节点的左子树和右子树的高度最多差1的二叉查找树。实际高度只比logN多以一点,和普通二叉查找树相比,平衡二叉搜索树一般而言搜寻时间可节省25%左右(STL源码剖析P203)。
只有那些从插入点到根节点的路径上的节点的平衡可能被改变,因为只有这些节点的子树可能发生变化。
把需要重新平衡的节点称为a(左右子树高度差大于1)。注意,确定这个节点很重要,否则无法确定...
分类:
其他好文 时间:
2014-05-10 09:57:21
阅读次数:
406
AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(logn)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。
分类:
其他好文 时间:
2014-05-07 16:54:09
阅读次数:
262
以CAN转UART(串口)为例。
功能简介:
当主程序收到CAN口的数据后;根据按键的不同来选择是使用CAN口发送,还是使用UART口发送。
一、图片
时序图
协作图
二、下载
can2uart.mdl...
支持泛型AVL Tree的简单实现,并和STL map比较了插入,删除,查找的性能...
分类:
其他好文 时间:
2014-04-27 19:43:40
阅读次数:
400
本例为串口类(VC)的类图
一、图片
二、下载
SerialPort.mdl...