A6:mein Pseudo code
Results 1 to 5 of 5
  1. #1
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Talking A6:mein Pseudo code

    hmm,
    mein pseudocode war ziemlich falsch.ich werd mal ne richtige version posten,wenn ich eine habe.
    Last edited by Shade; 07-05-2002 at 12:40.
    ALL GLORY TO THE HYPNO TOAD...

  2. #2
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    wie versprochen eine (hoffentlich) richtige version.
    ich hab das ganze als rekursion geschrieben.wär nett wenn jemand sagen könnte obs stimmt.

    suchen[root,x ]
    diff=root.key-x;
    if diff=0
    return root;
    if root=Null
    return "Fehler";
    if diff >0
    {mindiff=min(leftson,x,diff);}
    if diff<0
    {mindiff=min(rigthson,x,diff);}
    if mindif<0 UND diff<0
    return fehler;
    else
    { if mindiff>=0 UND mindiff<=diff
    return mindiff+x;
    else
    return diff+x
    }


    min[Knoten,x,diff]
    for Knoten ungleich Null
    {diffcur=Knoten.key-x;
    if diffcur >0
    a={min(leftson,x,diffcur);}
    if diffcur<0
    a={min(rigthson,x,diffcur);
    if diffcur>=0
    {
    if a=>0 UND a<diffcur
    retrun a;
    else
    return diffcur;}
    else
    return a;
    }
    for Knoten=Null
    return -1;}
    Last edited by Shade; 14-05-2002 at 00:10.
    ALL GLORY TO THE HYPNO TOAD...

  3. #3
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    vielleicht ne kleine erläuterung:
    -je kleiner die zahl knoten.key-x ist desto näher
    ist der knoten an x
    -ist die zahl kleiner áls 0,muss der wert im knoten kleiner x sein und kann somit nicht gesucht werden
    -der algorythmus min geht bis er null erreicht da gibt er dann ein -1 zurüch staat sich nochmal aufzurufen.wär ja sinnlos.
    -jetzt wird immer kontrolliert welcher posetive abstand am nächsten zu x ist.
    -dieser wird dann ausgegeben,oder wenn er nicht exestiert wird ein fehler returniert.
    ich hoffe das die idee für denn code jetzt verständlich ist
    ALL GLORY TO THE HYPNO TOAD...

  4. #4
    shabby's Avatar
    Title
    Elite
    Join Date
    Jan 2002
    Location
    Schrödinger, 1040 Wien
    Posts
    267
    Thanks
    2
    Thanked 9 Times in 8 Posts

    fast and short

    Code:
    func biggestminbigx(root,x) {
    p=root;found=NULL;
    while(p!=NULL) {
     if(p.key < x) p=p.leftchild;
     else if (p.key > x) found = p; p=p.rightchild;
     else return x
    } return found;
    hat O(ld n) bzw. O(höheDesBaums) und ist etwas kürzer

  5. #5
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    so gehts natürlich auch.wollt halt sehen ob ichs mit der rekursion hinkriege.
    ALL GLORY TO THE HYPNO TOAD...

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •