Ergebnis 1 bis 7 von 7

Thema: Variablen nach Werten sortieren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    ein 0.0 sind auch meines wissen 0.03 sec.
    weiß ja nicht, wo du das platziert hast, aber wenn du es nach jeder fertig sortierten zahl machst, wären das 20*0.03sec = 0.6sec, dazu noch das langsamere rechnen des makers, dann wird das schon recht langsam.

  2. #2
    Hätte einen ähnlichen Ansatz:

    - Gehe nacheinander alle Elemente der ersten Liste (Variablen 1-20) durch und speichere jeweils dessen ID und Wert in 2 neuen Variablen (aktuelle ID und aktueller Wert)
    - Gehe damit jeweils die zweite Liste (Variablen 21-40) nach folgenden Kritierien durch:
    - - Ist der Eintrag in der zweiten Liste gleich 0 (noch keine Variable eingetragen): trage dort die aktuelle ID ein und breche die Schleife ab. Anderenfalls...
    - - Ist der Wert der eingetragenen Variablen kleiner als der "aktuelle Wert": trage an dieser Stelle die "aktuelle ID" ein, der vorherige Eintrag wird zur neuen "aktuellen ID" (und wird somit im Folgenden weiter aufgerückt)


    Hätte zumindest den Vorteil dass (wenn ich Brei richtig verstanden hab) du nicht jedes Mal die erste Liste nach dem kleinsten Element durchsuchen musst... Allerdings habe ich auch keine Ahnung wie schnell das Ganze im Maker ist.

    Geändert von ETeCe (17.02.2012 um 11:53 Uhr)

  3. #3
    deine methode hat einen kleinen denkfehler:

    angenommen du hast schon 3 zahlen in der zweiten liste (z.b. 3,5,8 )
    jetzt kommt aus der ersten list die zahl 1.

    1. durchlauf:
    1 < 3 also wird 3 gespeichert
    2. durchlauf
    3 < 5 also wird 5 gespeichert
    3. durchlauf
    5 < 8 also wird 8 gespeichert

    wie du siehst brauchst du im schlechtesten fall immer die anzahl durchläufe, die bereits schon in der liste gespeichert wurden.

    da ist denke ich ein durchsuchen der unsortierten variabeln am effizientesten, und weniger fehler anfällig.

  4. #4
    In dem Sinne hast du natürlich recht, die innere Schleife wird insgesammt 1 + 2 + ... + 20 = 210 Mal durchlaufen, egal in welcher Reihenfolge die Zahlen eingefügt werden.

    So wie ich es verstanden habe wäre die Alternative aber ebenfalls 20 Mal die erste Liste komplett zu durchlaufen um den jeweils nächstkleineren Wert zu finden (zuzüglich Überprüfungen ob die Variable bereits in der zweiten Liste vorhanden ist).

    Geändert von ETeCe (17.02.2012 um 15:15 Uhr)

  5. #5
    Ja, das stimmt schon, nur musst du mit der 1. Methode keine bereits gesetzten variabeln verändern, weswegen das vll doch etwas intuitiever Ist. Aber hast recht, am Ende kommt man auf keine großen Unterschiede, ergo geschmacksache.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •