Frühere | Chronologischer Index | Spätere | ||
Vorherige | Thematischer Index | Nächste |
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 |
<<attachment: SelectionSort Problem.nb>>
Frühere | Chronologischer Index | Spätere | ||
Vorherige | Thematischer Index | Nächste |
DMUG-Archiv, http://www.mathematica.ch/archiv.html