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

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Welche Laufzeit ist schneller? (Normal einsortieren oder Bucketsort) » 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 Welche Laufzeit ist schneller? (Normal einsortieren oder Bucketsort)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Indyfan751
Grünschnabel


Dabei seit: 03.03.2021
Beiträge: 1

Welche Laufzeit ist schneller? (Normal einsortieren oder Bucketsort) 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:
Hallo,

ich habe 100 Werte, die in 30 Behälter einsortiert werden müssen.

Der Code sieht so aus:

code:
1:
2:
3:
4:
5:
6:
for(int i = 0; i < 30; i++) {
  if(Behälter == i) {
    // Einfügen
  }
}

Also wäre dies als Laufzeit O(30).

Nun habe ich mir gedacht, dass der Code schneller funktionieren kann, wenn ich Bucketsort nutze. Aber ich glaube das funktioniert nicht.

Hat jemand sonst noch Ideen, wie ich den Code beschleunigen kann?

Meine Ideen:
Hab keine...
03.03.2021 07:30 Indyfan751 ist offline E-Mail an Indyfan751 senden Beiträge von Indyfan751 suchen Nehmen Sie Indyfan751 in Ihre Freundesliste auf
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

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

Ich verstehe ehrlich gesagt den Code nicht. Dein Behälter ist also auch ein int, oder wie soll sonst der Vergleich funktionieren? Sind die Bezeichner mit Umlauten drin erlaubt???
Dann ist die Laufzeit so ja der Ordnung 100 mal 30, nicht nur 30, weil Du ja 100 Werte einsortieren willst, oder?
Wie sollen die Werte einsortiert werden? Sind das nur 100 Werte, die alle zwischen 0 und 30 liegen? Sind die Werte in einem Array?

Soll das ganze am Ende ein Bucketsort werden oder was genau willst Du erreichen?

Gruß
Marco
04.03.2021 15:36 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
indyfan752
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nein. Das sind 100 Kalenderdaten eines Monats und müssen in 30 Behälter, die die Tage eines Monats symbolisieren, einsortiert werden.

Die 100 Kalenderdaten sind schon nach Datum sortiert.

Trotzdem beträgt die Laufzeit bei 500 Millisekunden. Kann man das nicht schneller machen?
06.03.2021 15:17
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

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

Ja aber dann musst Du doch auf jeden Fall einmal über die 100 Kalender-Daten laufen, jedes nach seinem Tag-im-Monat fragen und in den entsprechenden "Behälter" einsortieren. Du musst doch nicht über die 30 Behälter laufen, was was das denn?

Gruß
Marco
08.03.2021 16:34 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Welche Laufzeit ist schneller? (Normal einsortieren oder Bucketsort)