Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

TrommlBomml

Community-Fossil

  • »TrommlBomml« ist der Autor dieses Themas

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

1

12.10.2007, 17:00

Langeweileprodukt

Hab letztens in Informatik langeweile gehabt und habe in dieser unendlichen hoffnungslosigkeit ein algorithmisches wunderwerk fabriziert: den Randomsort! :badgrin:

die Idee: möglichst viel rechenzeit zu beanspruchen, also möglichst ineffizient zu arbeiten
lösung: zufallszahlen.
prinzip: als erstes wird geprüft, ob das feld sortiert ist. wenn das nicht der fall ist werden zwei zufallszahlen erzeugt und die elemente mit den entsprechenden indices vertauscht. danach wird wieder auf sortiertheit geprüft usw.

hier der source(auf das wesentliche reduziert):

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
bool isSorted(std::vector<int> &Feld)
{
    for(std::vector::size_type i=0;i<Feld.size()-1;i++)
    {
        if (Feld[i] > Feld[i+1]) return false;
    }
    return true;
}

void randomSort(std::vector<int> &Feld)
{
    while (!isSorted(Feld))
    {
        int pos1 = (Feld.size()-1) * ((int)rand()) / RAND_MAX;
        if (pos1 > Feld.size()-1) pos1 = 0;

        int pos2 = (Feld.size()-1) * ((int)rand()) / RAND_MAX;
        if (pos2 > Feld.size()-1) pos2 = 0;

        Feld.swap(pos1,pos2);
    }
}


bei weiteren ideen zur perfektion des agorithmus (und evtl. fehler weil ich das eigl in TP geschrieben habe) postet wat das zeug hält!

Task-Manager

Alter Hase

Beiträge: 1 087

Wohnort: am PC

Beruf: Student

  • Private Nachricht senden

2

12.10.2007, 17:04

wer braucht sowas?

TrommlBomml schrieb:

Zitat

die Idee: möglichst viel rechenzeit zu beanspruchen, also möglichst ineffizeint zu arbeiten
falls ichs i-wo vergessen hab:

mfg
Task-Manager

Rechtschreibfehler sind mein Eigentum und gewollt!

TrommlBomml

Community-Fossil

  • »TrommlBomml« ist der Autor dieses Themas

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

3

12.10.2007, 17:05

keiner. das war ein langeweileprodukt. nur zur erheiterung. dachte das das kla is ;)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

12.10.2007, 17:11

hehe

http://www.cs.uiuc.edu/class/fa05/cs473ug/resources/pessimal-algorithms.pdf

;)

TrommlBomml

Community-Fossil

  • »TrommlBomml« ist der Autor dieses Themas

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

5

12.10.2007, 17:16

möcht ma wissen ob mein randomsort slower ist als der slowsort :D

und nochwas an alle:

wer es schafft, einen ordnungsaufwand für den randomsort zu erstellen (was eigentlich nur auf wahrscheinlichkeiten basieren kann) kriegtn lolli!!!

Werbeanzeige