Domino 9 und frühere Versionen > Entwicklung

LS Sortierroutine

<< < (3/4) > >>

Glombi:
Ich muss gestehen, dass ich mir bis dato noch keine Gedanken darüber gemacht habe und es so von Lotus übernommen habe.
Da es in meinen Anwendungen relativ flott geht, bin ich damit zufrieden.

Andreas

Semeaphoros:
Naja, mit 10 Elementen wird man in der Regel auch keine riesigen Unterschiede feststellen können, egal wie man sortiert. Und die Bemerkung von Bernhard ist schon richtig, es ist noch nicht einmal gesagt, dass man die Kosten für die IF-Abfrage dann wieder reinbekommt.

Matthias: Ich denke mal, wenn sich das durch eine einfache Abfrage entscheiden liesse, würde man das in der Sort-Literatur, die es wie Sand am Meer gibt und immer mal wieder als Vorlesungsthema auch auftaucht, finden. Die Sache ist deutlich komplexer als nur gerade von der Grösse der Datenmenge abhängig. Da spielen dann noch Sachen hinein wie Datentyp, Datengrösse pro Record, wie effizient kann die gewählte Sprache mit diesen Elementen beim Austauschen von Plätzen umgehen, und den allergrössten Einfluss hat in der Regel die Frage, wie kommt die Datenmenge daher: Vorsortiert, oder allenfalls sogar verkehrt rum sortiert oder rein zufällig. Diese letzte Frage beeinflusst die Sortierkosten weit mehr als die reine Datenmenge. Kurz gesagt, die Berechnung des O (Effizienz des Algorithmus') ist im Falle eines Sorts alles andere als trivial.

Glombi:
Das habe ich gerade bei meiner Google Suche gefunden. Als Einstieg ganz gut, da gibt es auch die O-Abschätzungen für die verschiedenen Sortieralgorithmen.

Wer Lust und Zeit hat, kann das ja in LotusScript programmieren und hier posten  ;)
Die Gemeinschaft wird sich freuen!

http://www.quick-sort.de/refqsort_1.htm

Andreas

Marinero Atlántico:
... vielleicht ein bischen out-of-topic.
Aber warum sind Sortieralgorythmen nicht einfach direkt Bestandteil der Sprache?
Sowas wie function doQuickSort(inPutArray, Comparator) oder function  doBubbleSort(inPutArray, Comparator).
Comparator ist dann sowas wie alphanumerisch sortieren oder nach zahlen sortieren.
Bei alphanumerisch sortieren wird dann der eingestellte Locale genommen.
Für Spezialsoritierungen kann man ein eigenes Comparator-Objekt erstellen.
Gehört es zum Skillset eines Anwendungsentwicklers, sich um solche letzten Endes wirklich komplexen (s. Beitrag Jens) Details zu kümmern? Ist das effizient, dass er sich darum kümmern muß? Sollten nicht zumindest ein paar Hilfen bereitgestellt werden, die zumindest 80% der Fälle erschlagen?

Gruß Axel

Semeaphoros:
Stimmt, Axel, da scheinen Traditionen hoch gehalten zu werden. Wenn einem das eingebaute nicht passt, kann mans ja immer noch anders machen. Aber im Prinzip meinst Du

@Sort

und insbesondere den kaum bekannten

@sort([customsort]), der enorm mächtig ist.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln