AVL树测试程序

AVL树(三)

下面用一个例子来测试AVL树的平衡性

随机的反复插入和删除树中的节点,如代码所示:

?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #include <iostream> #include "AVL.h" #include "IntClass.h" #include <time.h> #include <stdlib.h>  #include "StringClass.h" using namespace std; int main() { BSTree bstree; BSTree bstreeStr;    int max=50; srand (unsigned( time (0)));    for ( int j=0;j<50;j++) {      int number= rand ()%7;      for ( int i=number;i>0;i--)      {          int a= rand ()%max;          bstree.insert( new IntClass(a), new StringClass( "Tao" ,3));      }      for ( int i=number;i>0;i--)      {          int a= rand ()%max;          bstree. remove ( new IntClass(a));      } } bstree.outPut(); cout<< "------------------------------------------------" <<endl; bstreeStr.insert( new StringClass( "Jim" ,3), new StringClass( "Hello, I'm a student" ,20)); bstreeStr.insert( new StringClass( "Lucy" ,4), new StringClass( "Hello, I'm a teacher" ,20)); bstreeStr.insert( new StringClass( "Brown" ,5), new StringClass( "Hello, I'm a doctor" ,19)); bstreeStr.insert( new StringClass( "Lily" ,4), new StringClass( "Hello, I'm a actor" ,18)); bstreeStr.insert( new StringClass( "Tao" ,3), new StringClass( "Hello, I'm a student" ,20)); bstreeStr.insert( new StringClass( "Peter" ,5), new StringClass( "Hello, I'm a teacher" ,20)); bstreeStr.insert( new StringClass( "John" ,4), new StringClass( "Hello, I'm a doctor" ,19)); bstreeStr.insert( new StringClass( "Tony" ,4), new StringClass( "Hello, I'm a actor" ,18)); bstreeStr.insert( new StringClass( "Linda" ,5), new StringClass( "Hello, I'm a student" ,20)); bstreeStr.insert( new StringClass( "Jurcy" ,5), new StringClass( "Hello, I'm a teacher" ,20)); bstreeStr.insert( new StringClass( "Chern" ,5), new StringClass( "Hello, I'm a doctor" ,19)); bstreeStr.outPut(); cout<< "-------------------------------------------------" <<endl; return 0; }

结果如下图,可见AVL树的平衡性很好,几乎达到完全二叉树的效果

《AVL树测试程序》

本文出自:http://www.cnblogs.com/xiao-cheng/archive/2011/10/04/2199092.html

    原文作者:AVL树
    原文地址: https://blog.csdn.net/luyafei_89430/article/details/7624525
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞