2011年11月28日

数据结构与算法分析学习笔记(二)--AVL树的算法思路整理

摘要: 看完了《数据结构与算法分析(C++描述)》的4.4节AVL树,做一个总结,整理一下自己实现删除算法的思路.(注:本文中图片均来自《数据结构与算法分析(C++描述)》) AVL(Adelson-Velskii and Landis,由阿德尔森一维尔斯和兰迪斯在1962年提出,因此得名)树是带有平衡条件(balance condition)的二叉查找树. 我们知道空子树的高度通常被定义为-1,叶子结点的高度为0,其它结点的高度为其左右子树中的最大高度加1.一颗AVL树中的每一个结点的左子树和右子树的高度差不超过1.由此,我们可以考察一下一颗高度为h的AVL树的最少结点数S(h).显然S(0)=.. 阅读全文

posted @ 2011-11-28 16:34 Barryhe 阅读(7207) 评论(1) 推荐(2) 编辑

C++实践笔记(四)----AVL树的简单实现

摘要: 关于AVL树的分析,请见:数据结构与算法分析学习笔记(二)--AVL树的算法思路整理 这里给出AVL树的结构定义以及insert,remove和print三种操作的例程:1#include<iostream>2#include<list>3#include<utility>4#include<string>5usingnamespacestd;67staticconststringPRINT_SPACES="";89template<typenameObject>10classAVLTree11{12public: 阅读全文

posted @ 2011-11-28 16:30 Barryhe 阅读(2262) 评论(0) 推荐(1) 编辑

导航