摘要: 树对于查找是非常方便的,例如stl中常用的map和set,尤其是对于大数据量的情况下,树的查找要比数组和链表要快的多。 本文主要是实现AVL树,AVL树是一种平衡树,就是在插入时通过某种调整使某个节点的左右子树的高度差不大于1。 具体算法: 当某个节点不符合条件时,以右子树高于左子树为例,此时需要向左循环以增加左子树的高度,这时需要将右子树代替当前节点,并且的右子树的左子树调整为当前节点的右子树,其他不变,但是有一种可能行,就行右子树的右子树比较矮(比左子树的高度小1),因此在进行调整之前先把右子树的节点向右循环进行调整。 整个树的操作都是以递归的方式实现的。 源码地址:http://fil. 阅读全文
posted @ 2011-04-20 22:01 yn_wang 阅读(225) 评论(0) 推荐(0) 编辑