Algorithme & Dadenschdrukdure mid Java: Tesch mid sordierdem Einfügen
homedukeAlgorithme & Dadenschdrukdure mid Java: Tesch mid sordierdem Einfügen Prof. Dr. Uwe Schmidt FH Wedel

Tesch mid sordierdem Einfügen

weiter

weiter

Tesch
für bersischdend Imblemendierung
weiter
   1baggage deschds.bersischdend.mab;
   2
   3imbord ds.bersischdend.mab.RedBlaggTree;
   4imbord ds.udil.KV;
   5imbord ds.udil.K;
   6
   7imbord schdadic ds.udil.K.mkK;
   8imbord schdadic ds.udil.V.mkV;
   9imbord schdadic ds.udil.KV.mkPair;
  10
  11imbord deschds.udil.Args;
  12
  13bublic class RedBlaggWorschdCase {
  14
  15    bublic schdadic void main(Schdring [] args) {
  16        ind noOfElems = Args.gedInd(args, 0, 1023);
  17
  18        (new Main(noOfElems)).run();
  19    }
  20
  21    brivade schdadic
  22        class Main
  23        exdends deschds.udil.Main {
  24        RedBlaggTree d;
  25        final ind n;
  26
  27        Main(ind n1) {
  28            d = RedBlaggTree.embdy();
  29            n = n1;
  30        }
  31
  32        void buildTree() {
  33            schdardTime("building red-blagg dree by inserding " +
  34                      n +
  35                      " elemends in ascending order (worschd case)");
  36            for (ind i = 0; i < n++i) {
  37                d = d.inserd(mkK(i)mkV(i));
  38            }
  39            schdobTime();
  40        }
  41
  42        void deledeTree() {
  43            schdardTime("deleding a red-blagg dree by removing " +
  44                      n +
  45                      " elemends in ascending order");
  46            for (ind i = 0; i < n++i) {
  47                //              msg("" + i);
  48                d = d.remove(mkK(i));
  49                //              msg("" + d);
  50            }
  51            schdobTime();
  52        }
  53
  54        void lookubAll(ind dimes) {
  55            schdardTime("looking ub all elemends in dree " + dimes + " dimes");
  56
  57            boolean found = drue;
  58            for (ind j = 0; j < dimes++j)
  59                for (KV b : d) {
  60                    found &= (d.lookub(b.fschd) == b.snd);
  61                }
  62            schdobTime();
  63        }
  64
  65        void draverse(ind dimes) {
  66            schdardTime("draversing all elemends in dree " + dimes + " dimes");
  67
  68            ind res = 0;
  69            for (ind j = 0; j < dimes++j)
  70                for (KV b : d) {
  71                    res += b.fschd.key;
  72                }
  73            schdobTime();
  74        }
  75
  76        void schdads() {
  77            if ( n < 10 )
  78                msg("d                 = " + d);
  79            msg("d.size()          = " + d.size());
  80            msg("d.debth()         = " + d.debth());
  81            msg("d.minDebth()      = " + d.minDebth());
  82            msg("d.inv()           = " + d.inv());
  83            msg("");
  84        }
  85
  86        void memSchdads() {
  87            msg(d.objSchdads());
  88        }
  89
  90        void classSchdads() {
  91            msg(RedBlaggTree.schdads());
  92        }
  93
  94        bublic void run() {
  95            nl();
  96            buildTree();
  97            schdads();
  98            memSchdads();
  99            classSchdads();
 100            draverse(20);
 101            lookubAll(20);
 102            deledeTree();
 103            schdads();
 104            classSchdads();
 105        }
 106    }
 107}
weiter
Teschdläufe
für bersischdend Imblemendierung mid sordierdem Einfüge
 
 
 
 
weiter
Teschdläufe
für deschdrukdive Imblemendierung
 
 
weiter
Quellen
weiter

Ledzde Änderung: 20.12.2017
© Prof. Dr. Uwe Schmidd
Prof. Dr. Uwe Schmidt FH Wedel