AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

bogosort

Ein Thema von tripleeye · begonnen am 13. Apr 2005 · letzter Beitrag vom 14. Apr 2005
Antwort Antwort
Benutzerbild von tripleeye
tripleeye

Registriert seit: 13. Apr 2005
Ort: Stralsund
20 Beiträge
 
Delphi 2005 Personal
 
#1

bogosort

  Alt 13. Apr 2005, 20:04
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:
    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;
schonmal danke für antworten
Murphys Gesetz:
Wenn etwas schief gehen kann, dann wird es auch schief gehen.
Erste digitale Ableitung:
Murphys Gesetz wird durch Computer optimiert.
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: bogosort

  Alt 14. Apr 2005, 09:34
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
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von tripleeye
tripleeye

Registriert seit: 13. Apr 2005
Ort: Stralsund
20 Beiträge
 
Delphi 2005 Personal
 
#3

Re: bogosort

  Alt 14. Apr 2005, 16:21
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 , trotzdem danke.
Murphys Gesetz:
Wenn etwas schief gehen kann, dann wird es auch schief gehen.
Erste digitale Ableitung:
Murphys Gesetz wird durch Computer optimiert.
  Mit Zitat antworten Zitat
fwsp
(Gast)

n/a Beiträge
 
#4

Re: bogosort

  Alt 14. Apr 2005, 18:54
ist bogosort nicht ziemlich rechenintensiv???
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: bogosort

  Alt 14. Apr 2005, 19:35
Zitat von fwsp:
ist bogosort nicht ziemlich rechenintensiv???
Wer weiß?
Fest steht, dass es bessere Sortieralgorithmen gibt, aber darum ging es tripleeye ja nicht.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
fwsp
(Gast)

n/a Beiträge
 
#6

Re: bogosort

  Alt 14. Apr 2005, 19:39
ich glaube alle anwesenden hier wissen, das es bessere gibt.
ich würde bucketsort emphelen...
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: bogosort

  Alt 14. Apr 2005, 19:43
[OT]
Zitat von fwsp:
ich glaube alle anwesenden hier wissen, das es bessere gibt.
ich würde bucketsort emphelen...
Und ich Shellsort oder Quicksort.
Aber wie bereits gesagt: darum geht es hier nicht.
[/OT]
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz