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

Informatiker Board » Themengebiete » Praktische Informatik » k-kleinste Zahl aus zwei Arrays » 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 k-kleinste Zahl aus zwei Arrays
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
JROppenheimer
Foren As


Dabei seit: 17.11.2007
Beiträge: 94

k-kleinste Zahl aus zwei Arrays Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Tach ihr Leut, ich hab ein Problem, und das ist meien Ideenlosigkeit.

Gegeben sind zwei Arrays A,B der länge n (also beide gleichlang, gefüllt mir irgendwelchen Zahlen schätze ich, ist nicht mehr angegeben). Gesucht ist nun die n-kleinste Zahl unter allen 2n Zahlen. Man hat nur die Möglichkeit mit X.query(k) die k-kleinste Zahl aus A oder B zu erfragen.

Gesucht ist ein Algorithmus, der in O(log(n)) de n-kleinste Zahl bestimmt.

Da ich x*log(n) zur Verfügung habe (mit x konstant) dachte ich mir, das ist bestimm was rekursives. Wenn ich die Arrays irgendwie immer halbieren würde, wäre es sowas wie log2(n), da dachte ich an die binäre Suche. Das heisst aber, dass ich doch über die Indize der Arrays arbeiten müsste, oder?

Ich bin wirklich ideenlos, für einen Tip wäre ich sehr dankbar.

__________________
I'm 71% Megatron!
07.12.2007 10:57 JROppenheimer ist offline E-Mail an JROppenheimer senden Beiträge von JROppenheimer suchen Nehmen Sie JROppenheimer in Ihre Freundesliste auf MSN Passport-Profil von JROppenheimer anzeigen
Crotaphytus
Mitglied


Dabei seit: 18.09.2006
Beiträge: 45

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

So was wie binäre Suche heißt ja, dass du im ersten Schritt die n/2-kleinste Zahl suchst. Die kannst du doch mit der query-Methode direkt erfragen.

Und noch ein Tipp: Die n-te kleinste Zahl von 2n Zahlen ist der Median dieser Folge. Das heißt, es gibt genauso viel Zahlen die größer sind wie Zahlen die kleiner sind. Damit sollte dir mit deinem Binäre-Suche-Ansatz eigentlich klar werden können, was du jeweils wegschmeißen kannst.

__________________
Das ist keine Signatur.
08.12.2007 21:59 Crotaphytus ist offline E-Mail an Crotaphytus senden Beiträge von Crotaphytus suchen Nehmen Sie Crotaphytus in Ihre Freundesliste auf Fügen Sie Crotaphytus in Ihre Kontaktliste ein
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » k-kleinste Zahl aus zwei Arrays