Wertrichtiges alphabetisches Sortieren von Zahlen

Das Problem

Man kann Wörter in Alphabetreihenfolge sortieren, und Zahlen nach ihrem Wert. Doch beide Verfahren widersprechen sich: Sortiert man Zahlen alphabetisch, so geraten die Werte durcheinander. Zum Beispiel wird aus der Liste 2, 12, 30 (numerisch geordnet) die Liste 12, 2, 30 (alphabetisch geordnet nach ASCII): Die 12 kommt jetzt vor der 2, weil sie mit einer kleineren Ziffer anfängt.

Schöner wäre es, ein Ordnungsschema für Wörter (einschließlich Zahlen) zu haben, das Zahlen automatisch nach Wert sortiert.   Wir zeigen 3 Lösungen:




Lösung 1:   Vorsortierung nach Länge


1) Alle Wörter (Lexikon-Wörter und Zahlen) werden zuerst nach Länge sortiert:
zuerst kommen alle Wörter der Länge 1 Zeichen, dann alle Wörter der Länge 2, ...

2) Alle gleichlangen Wörter werden dann wie üblich alphabetisch sortiert

Dabei spielt es keine Rolle, ob die Ziffern im Zeichensatz vor oder hinter den Buchstaben liegen. Nur müssen sie nach aufsteigendem Wert geordnet sein, damit die Zahlen aufsteigend sortiert sind.

Die Sortierung muß an der Wortseite beginnen, wo der Stellenwert bei Zahlen höher ist:   bei "westlicher" Schreibweise am Wortanfang, bei arabischer Schreibweise am Wortende.
(Im Arabischen werden Zahlen geschrieben, indem man mit der Ziffer mit dem kleinsten Stellenwert beginnt. Das hat den Vorteil, daß in Spalten mit ungleich langen Zahlen alle Ziffern stellenrichtig untereinander stehen, auch ohne vorher eingefügte Leerräume.)

Mit diesem Verfahren sind alphabetisch sortierte ganze Zahlen in Wertreihenfolge, auch gebrochene Zahlen mit gleichlangem Nachkommateil.
Alle gebrochenen Zahlen werden alphabetisch und wertrichtig sortiert, wenn sie zuerst nach dem Vorkomma-Teil sortiert werden. Aber das macht die Sache komplizierter, was sich kaum lohnt: Exponentialausdrücke und Rechenausdrücke ( 5+7 , 3*9 ) sind formal eh nicht wertrichtig zu sortieren - man muß zuerst den Wert errechnen und in Standarddarstellung bringen.




Bewertung allgemein

Das eben beschriebene Ordnungsschema hat den Vorteil, daß alpabetisch sortierte Zahlen gleichzeitig nach Wert sortiert sind.


Auch bewirkt es, daß gleichlange Wörter zusammen im Lexikon erscheinen:

- Das sieht viel ordentlicher aus
- Ist viel intuitiver: sogar ein Analphabet erkennt dieses Ordnungsschema
- Man hat eine Liste der kürzesten und gleichlangen Wörter einer Sprache

Es kann aber auch nachteilig sein: "Haus" und "Hausbau" liegen im Lexikon weit auseinander, allerdings nur im Deutschen. Im Englischen gibt es Wortgruppen statt Wortzusammensetzungen.



Die Vorsortierung der Wörter nach Länge macht es nötig, zuerst die Zeichen im Wort zu zählen. Das ist unpraktisch, wenn man ganze Wortgruppen sortiert, und bei aufgeblähter Schreibweise (z.B. "sch" für einen einzigen Laut). Und ist ziemlich einfach bei kompakter Schreibweise, z.B. einer Silbenschrift. Oder bei Silbenstruktur "Konsonant + Vokal" und daran angelehnter Schreibweise (z.B. Konsonantenzeichen mit Oberlängen, Vokalzeichen ohne Oberlängen, wie z.B. im Wort "kitali").

Fazit: Eine wertrichtige ABC-Folge ist zwar für jedes Alphabet machbar und immer vorteilhaft. Wie praktisch obige Methode ist, hängt jedoch vom Alphabet und der Sprache ab, deren Wörter sortiert werden sollen. Für manche Sprachen / Schriften ist sie eher unpraktisch, für andere vermutlich die optimale Lösung.




Bewertung für Englisch


a
I

an
at
be
..

add
aid
all
..

able
also
byte
..

apple        
apply
april
..
Die Liste aller Wörter in einem englischen
Text könnte z.B. aussehen wie links gezeigt





Am Anfang erscheinen viele der  wichtigsten
englischen Wörter, weil diese ziemlich kurz
sind. Die ganze Liste wirkt sehr ordentlich.
Noch schöner wäre sie, wenn man für das
Latein-Alphabet eine logischere Ordnung
einführen würde, z.B. zuerst alle Vokale,
nach Tonhöhe geordnet  (s.u. Plansprache)



Wortgruppen wie "apple cake"
werden nach dem ersten Wort,
hier  "apple",  einsortiert          




Bewertung für Deutsch

Im Deutschen gibt es viele Wortzusammensetzungen, z.B. "Hausbau", wo das Englische Wortgruppen wie "house building" verwendet. Leider lägen "Haus" und "Hausbau" im Lexikon weit auseinander, weil sie verschieden lang sind.

Eine Lösung wäre es, zusammengesetzte Wörter hinter dem ersten Wort einzusortieren. Sie sollten irgendwie markiert werden, um dem Leser das Suchen im Lexikon zu erleichtern. Automatisch ergäbe sich das, wenn man zusammengesetzte Wörter mit Bindestrich schreiben würde, was aber höheren Schreibaufwand bedeutet und der zusammenhängenden Aussprache widerspricht.
Diese Sortierung zusammengesetzter Wörter wäre rein formal machbar: Auch ein Computer kann erkennen, daß "Astwerk" aus "Ast" und "Werk" besteht. Nur bei kurzen Endsilben ist Vorsicht geboten: "Aster" besteht nicht aus "Ast" und "er".




Bewertung für Japanisch

Japanische Wörter haben Silben der Form "Konsonant + Vokal" oder "Vokal" (nur am Wortanfang). Das macht eine Sortierung von Wörtern nach Länge ziemlich einfach. Besonders wenn Japanisch mit einer der beiden Silbenschriften, Hiragana oder Katakana, geschrieben wird. Zahlen werden meist mit westlichen Ziffern geschrieben.




Bewertung für akustisch einfache Plansprachen

Wir stellen uns eine akustisch einfache Plansprachwe vor: Alle Silben haben die Form "Konsonant + Vokal", z.B.   ti, ta, ki . Die Bestimmung der Wortlängen (für unsere Sortierung nötig) ist sehr einfach, bei einer Durchschnittslänge von 3 - 4 Silben pro Wort. Sowohl auf optische Art (Silbenzeichen zählen), als auch akustisch: man spricht ein Wort quasi im Geiste und zählt im Takt die Silben.







Lösung 2:   Ziffernabstand

Eine Zahl wird als Folge von Ziffern mit Zwischenräumen geschrieben: statt 123 schreibt man 1 2 3 . Jede Ziffer ist also immer ein einzelnes Wort (eine Zahl eine Wortgruppe), und alle Worte werden somit immer wertrichtig sortiert. Will man aber auch Zahlen (aus mehreren Ziffern bestehend) alphabetisch und gleichzeitig wertrichtig sortieren, so muß man Wortgruppen zuerst nach der Gesamtlänge sortieren, wie bei Lösung 1

Die Lösung "Ziffernabstand" wurde z.B. bei der Lautbildschrift gewählt, einer aus speziellen Buchstaben zusammengesetzten Bilderschrift. Zahlen bestehen aus getrennt geschriebenen Ziffern deshalb, weil sie dann eher den Eindruck einer Menge machen, als bei einem Ziffernblock. Genau genommen gibt es in der Lautbildschrift keine speziellen Ziffern, sondern manche Buchstaben (Einfach-, Doppel-, Dreifachstrich) werden als Ziffern verwendet. Das hat den Vorteil, daß die 'Ziffern' automatisch sprechbar sind. Bei alphabetischer Sortierung sind die 'Ziffern' also automatisch nicht nur nach Schrift, sondern auch nach Aussprache richtig sortiert, und auch nach Wert (wenn sie in Wertreihenfolge im ABC stehen, am besten zusammen und am Anfang, die 'Ziffer' 1 (= das Wort 1) ist dann der erste Buchstabe).
Daß eine Zahl eine Wortgruppe ist, bestehend aus Ziffern als einzelnen Worten, hat auch den Vorteil, daß die Sprache weniger Worte hat - ansonsten wäre ja jede Zahl (es gibt unendlich viele) ein Wort, und das Lexikon wäre unendlich lang.






Lösung 3:   Wörter in Zahlen umrechnen

Alphabetische Wörter werden in Zahlen umgerechnet. Zahlen selbst behalten ihren Wert. In einer Liste kann eine Zahl selbst und ein Wort mit diesem Zahlenwert vorkommen. Dann sollte die Zahl standardmäßig vor dem entsprechenden Wort stehen.
Für die Umrechnung Wort - Zahl gibt es unzählige Methoden, die vor allem in der Kryptographie eine Rolle spielen. Hier interessiert nur die Sortierung von Wörtern. Bei der Umrechnung gibt es 4 Stufen der Einfachheit:



Stufe 1:   Jeder Buchstabe wird als Ziffer aufgefaßt: Im Latein-ABC z.B.   a=1, b=2, c=3, ... z=26 . Dann wird ein Wort als Zahl aufgefaßt: "abc" z.B. wäre die Zahl 123, allerdings im System zur Basis 26 oder höher (weil man 26 Ziffern hat, soviel wie Buchstaben).
Diese Methode ist wegen der damit verbundenen Rechnerei sehr unpraktisch.



Stufe 2:   Jeder Buchstabe wird als Doppelziffer aufgefaßt: Im Latein-ABC z.B.   a=01, b=02, c=03, ... z=26 . Dann wird ein Wort als Zahl aufgefaßt: "abc" z.B. wäre die Zahl 010203
Diese Methode erfordert keine Rechnerei, aber die Zahlen sind fast doppelt so lang.



Stufe 3:   Ein Wort in einer Schrift mit nur 10 Buchstaben läßt sich leicht in eine Dezimalzahl umwandeln:   Man macht aus jedem Buchstaben eine Ziffer = seine Nr. im ABC

Auch Wörter in einer Schrift mit 20 Buchstaben - 10 Konsonanten und 10 Vokalen - lassen sich leicht in eine Dezimalzahl umwandeln, wenn alle Silben die Struktur "Konsonant + Vokal" haben:
Man weist jedem Konsonanten eine Ziffer von 0 - 9 zu, genauso jedem Vokal, und schon ist jedem Wort eindeutig eine Zahl zugeordnet. Umgekehrt ist auch jeder Zahl eindeutig ein Wort zugeordnet. Das Verfahren funktioniert auch, wenn die Schrift weniger Konsonanten oder Vokale hat, ist dann aber nicht mehr umkehrbar.



Stufe 4:   Am einfachsten ist die Umwandlung eines Wortes (in einer Schrift mit nur 10 Buchstaben) in eine Dezimalzahl, wenn man generell Buchstaben als Ziffern verwendet (ähnlich wie in der griechisch / römischen Antike). Zahlen müßten durch eine Partikel gekennzeichnet sein, weil man sonst nicht wüßte, ob z.B. mit dem Wort "Haus" ein Haus oder die entsprechende Zahl gemeint ist.

Ähnlich könnte man die Zeichen einer Silbenschrift mit 60 Zeichen als Ziffern im 60-er System verwenden - auch dann wäre jedes Wort automatisch eine Zahl.



Die beschriebenen Arten, die ABC-Folge von Wörtern per Zahlenwert zu definieren, bewirken dieselbe Wortreihenfolge wie die oben beschriebene Lösung 1 (Vorsortierung nach Länge, dann alphabetische Sortierung)





Die Benutzung der hier beschriebenen Techniken ist frei Stand: 15.7.05 Autor: Leonhard Heinzmann Homepage