![]() |
bogosort
hallo,
ich bin gerade dabei bogosort in einer kleinen konsolenanwendung zu implementieren. schwierigkeiten bereitet mir dabei das durchwürfeln des integer-arrays, da meine methode zwei zufällig gewählte elemente zu vertauschen und das so oft, wie das array lang ist, keine wirklich zufälligen ergebnisse liefert. dies zeigt sich dadurch, dass selbst bei 3 elementen und 10 ausgaben des durchgewürfelten arrays entweder nur 3 unterschiedliche kombinationen liefert, die sich kontinuierlich wiederholen, oder 10 identische ausgaben. abhängig ist das anscheinend von der position des randomize. bitte gebt mir einen vorschlag, wie ich meinen code "zufälliger" hinbekomme, oder auch völlig neue ideen, aber bitte keine antworten, dass bogosort unnütz und langsam ist. das weiß ich auch, aber nachdem ich die üblichen sortieralgorithmen umgesetzt hatte wollte ich auch mal was spaßiges ausprobieren.
Delphi-Quellcode:
schonmal danke für antworten
procedure wuerfeln(var feld: tfeld; n: integer);
var helpfeld: tfeld; i, j: integer; zeiger1, zeiger2: integer; begin for i:=1 to 2 do begin if random(100) > 70 then randomize; zeiger1:= random(n) + 1; zeiger2:= random(n) + 1; vertauschen( Feld[zeiger1], Feld[zeiger2]); end; end; |
Re: bogosort
Es würde reichen, wenn du randomize nur einmal am Anfang der Prozedur Wuerfeln aufrufst.
Bei deinem jetzigen Code, wird Randomize möglicherweise mehrmals hintereinander (in kurzen Abständen) aufgerufen, und das ist nicht gut. Übrigens: bei 3 feldern gibt es nur 3!= 3*2*1 =6 mögliche Anordnungen. MfG Binärbaum |
Re: bogosort
Genau das hab ich auch schon versucht. mit dem ergebnis, dass immer wieder das selbe feld ausgegeben wird.
das es bei 3 zahlen 3!=3*2*1= 6 möglichkeiten gibt, weiß ich :lol: , trotzdem danke. |
Re: bogosort
ist bogosort nicht ziemlich rechenintensiv???
|
Re: bogosort
Zitat:
Fest steht, dass es bessere Sortieralgorithmen gibt, aber darum ging es tripleeye ja nicht. MfG Binärbaum |
Re: bogosort
ich glaube alle anwesenden hier wissen, das es bessere gibt.
ich würde bucketsort emphelen... |
Re: bogosort
[OT]
Zitat:
Aber wie bereits gesagt: darum geht es hier nicht. [/OT] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz