Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Pseudocode in 0(n) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Pseudocode in 0(n)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
330677
unregistriert
Pseudocode in 0(n) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Ich soll einen Algorithmus in Pseudocode schreiben, welcher ein Feld A mit Wertebereich {1,..(n^2) - 1} in O(n) sortiert

Meine Ideen:
Habe leider keine Ahnung wie ich an die Sache rangehen soll.
12.11.2014 16:56
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ist das der originale Wortlaut der Aufgabe?
Es ist nicht möglich, n^2-1 Werte in O(n) zu sortieren, mit dem Mergesort erreichst du O((n^2-1) * log(n^2-1)).

__________________
Syntax Highlighting fürs Board (Link)
12.11.2014 18:32 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
heikob2
Grünschnabel


Dabei seit: 19.11.2014
Beiträge: 2

RE: Pseudocode in 0(n) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Es ist möglich, da der Wertebereich 1 bis (2^n) - 1 beträgt. Der Algorithmus heißt Bucket-Sort:
- Du legst ein Array "L" von 1 bis( 2^n)-1 an und initialisierst jedes Feld mit null.
- Dann iterierst du durch A und inkrementierst L[A[i]].
- Für die Ergebnismenge iterierst du durch L und fügst falls L[i] > 0, das Element "i" L[i]-mal in diese ein.

=> O(n).

gruß Heiko
19.11.2014 13:03 heikob2 ist offline Beiträge von heikob2 suchen Nehmen Sie heikob2 in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Pseudocode in 0(n)