DMUG-Archiv 2012

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Selection Sort in MMA Hilfe... geht nur für "kleine" Listen???

Hallo Udo, 

uuuups, da hatte ich aber mächtig ein Brett vorm Kopf. Das hätte ich mal gleich sehen müssen..... da habe ich mal 
wieder nicht auf das Message-Fenser geachtet. Vielen Dank für den schnellen Hinweis.


Viele Grüße

m.g. 





Am 07.07.2012 um 22:34 schrieb su.krause@XXXXXXX.ch:

> Hallo Michael, 
> 
> ja, das ist klar; liste_List ist in der Moduleversion die input-Variable, die Sie nicht überschreiben 
> können;
> der Fehler passiert gleich beim ersten Vertauschungsversuch, die liste muss auf eine Module-lokale Variable xL 
> kopiert werden
> 
> Remove[selectionSort]
> selectionSort[liste_List] := Module[{xL = liste, L = Length[liste]},
>  Do[If[xL
> [[i]] > xL[[j]], xL[[{i, j}]] = xL[[{j, i}]]], {i, L}, {j, 
>    i + 1, L}];
>  xL
>  ]
> 
> Gruss
> Udo.
> 
> 
> ----Ursprüngliche 
> Nachricht----
> Von: Michael.Gamer@XXXXXXX.de
> Datum: 07.07.2012 10:54
> An: <demug@XXXXXXX.ch>
> Betreff: Selection Sort 
> in MMA Hilfe... geht nur für &quot;kleine&quot; Listen???
> 
> Hallo Forum, 
> 
>  ich habe da mal ein (sonderbares) Problem. 
> Für meine Studierenden habe ich ein Beispiel gemacht, um zu zeigen das BubbleSort die Komplexität O(n^2) hat. keine 
> große Sache, kein Problem. Jetzt das Gleiche mit SelectionSort. Der Einfachheit halber ist der Code ja schon in der 
> MMA 
> Hilfe drin (illustriert die Do-Schleife) und da nehme ich natürlich den:
> 
> Do[If[list[[i]] > list[[j]], list[[{i, j}]] = 
> list[[{j, i}]]], {i,Length[list]}, {j, i + 1, Length[list]}]; list
> 
> 
> Jetzt habe ich das in einen Modul gepackt:
> 
> 
> selectionSort[liste_List] := Module[{},
>  Do[If[liste[[i]] > liste[[j]], liste[[{i, j}]] = liste[[{j, i}]]], {i,Length
> [liste]}, {j, i + 1, Length[liste]}];
>  liste
>  ]
> 
> und siehe da ich bekomme Fehlermeldungen, wenn die Liste eine 
> bestimmte Größe überschreitet. Meine Vermutung ist, daß das mit dem RETURN Wert der Do Anweisung zu tun hat, so ganz 
> verstehen kann ich das aber nicht. Hat da jemand eine Erklärung?
> Ich habe mal das MMA-Notebook mitgeschickt. 
> 
> Viele 
> Grüße
> 
> m.g.
> 
> 
> Michael Gamer
> Zur Römerbrücke 19
> 63456 Hanau 
> 
> Telefon:      06181 663363
> mobil:        0176 430 99707
> Fax:          06181 
> 663363
> Mail: mg@XXXXXXX.de
> 
> home:                 www.michaelgamer.de
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 



Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html