Abecední řazení

Z Wikipedie, otevřené encyklopedie
(přesměrováno z ČSN 97 6030)

Abecední řazení je způsob neutrálního řazení textových řetězců v seznamech, slovnících, encyklopediích apod., založený na tradičním uspořádání příslušné abecedy. Pořadí písmen v abecedě zpravidla nemá žádný logický význam, jedná se pouze o ustálený zvyk. V různých jazycích se může toto uspořádání lišit, zvláště pro specifické prvky příslušného jazyka (znaky s diakritikou apod.).

Základní princip řazení – postupné porovnávání řazených řetězců po jednotlivých znacích, přičemž o seřazení rozhoduje vždy první nalezený rozdíl, se označuje jako lexikografické řazení.

Abecední řazení se používá ve slovnících, telefonních seznamech a mnoha dalších rozsáhlých souborech dat, neboť umožňuje efektivní hledání: pro vyhledání položky v n-prvkovém uspořádaném seznamu je potřeba pouze logaritmický počet kroků; srovnejte jednoduchost hledání v telefonním seznamu podle jména, podle kterého je seznam seřazen, oproti hledání podle telefonního čísla, při kterém je nutno seznam projít celý položku po položce.

Základní latinka, anglická abeceda, ASCII[editovat | editovat zdroj]

Základní forma latinky (např. anglická abeceda) obsahuje 26 písmen, která jsou řazena následujícím způsobem:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Toto řazení se odráží v uspořádání znaků v počítačových znakových kódováních, jako např. ASCII, EBCDIC, Unicode.

Používaná posloupnost znaků je následkem historického vývoje, není pro ni žádný další logický důvod. (Oproti tomu si lze představit např. systém podle fonetických významů hlásek, řadící samohlásky před souhlásky, seskupující hlásky podle znělosti nebo místa tvoření apod.)

Čeština[editovat | editovat zdroj]

Pro češtinu upravuje abecední řazení norma ČSN 97 6030 z roku 1994 (která nahradila starší a složitější ČSN 01 0181 z roku 1977, přičemž aplikovatelnost normy rozšířila i na počítačové řazení). Podle této normy se řadí celá slova (případně skupiny slov), přičemž za slovo se považuje řetězec písmen, číslic, znaku apostrof a spojovník či nezlomitelná mezera (s výjimkou situace, kdy jsou tyto dva znaky na začátku či konci řetězce); počet mezer oddělujících jednotlivá slova není podstatný.

Primární řadicí schopnost[editovat | editovat zdroj]

Základem řazení je opět abeceda, tentokrát i s českými znaky. Při řazení se však nejprve nepřihlíží ke všem diakritickým znaménkům, v prvním průchodu se bere ohled jen na následující standardizovanou českou abecedu:

A B C Č D E F G H Ch I J K L M N O P Q R Ř S Š T U V W X Y Z Ž

Ostatní znaky s diakritikou (Ď, Ň, Ť a samohlásky s diakritikou) se v této první fázi řadí stejně jako verze bez diakritiky (např. D, N, T). Toto snížení významnosti Ď, Ť a Ň souvisí s tím, že nejčastěji se píší tyto hlásky znakem bez háčku a změkčení se vyznačuje následující samohláskou (Ě nebo I, Í, resp. ě, i, í).

Sekundární řadicí platnost[editovat | editovat zdroj]

Pouze pokud aplikací této primární řadicí schopnosti nelze rozhodnout mezi řazením několika slov, bere se ohled na ostatní diakritická znaménka. Sekundární řadicí platnost určuje vzájemné pořadí jinak stejných slov lišících se pouze diakritickými znaménky:

  1. znaky bez diakritických znamének,
  2. znaky s čárkou,
  3. znaky s háčkem (pokud nemá již primární řadicí platnost),
  4. znaky s kroužkem.

Obecné pravidlo pro sekundární řadicí platnost, umožňující řadit i znaky z jiných abeced, je definováno pomocí tří kroků: nejprve se porovnává umístění diakritického znaménka vzhledem k znaku; to určuje následující pořadí:

  1. bez diakritických znamének,
  2. diakritika nad znakem,
  3. diakritika pod znakem,
  4. diakritika za znakem (vpravo od znaku),
  5. diakritika před znakem (vlevo od znaku),
  6. diakritika uvnitř znaku či přes znak.

Pokud pomocí tohoto pravidla nelze rozhodnout, ve druhém kroku se jednoduché diakritické znaménko (např. čárka) řadí před dvojitá diakritická znaménka (např. přehláska) a ta se řadí před trojitá diakritická znaménka (tři tečky). Pokud ani toto pravidlo nerozhodne, definuje norma pořadí jednotlivých druhů diakritických znamének:

  1. tečka (resp. přehláska či tři tečky),
  2. čárka,
  3. vodorovná čárka (makron),
  4. svislá čárka,
  5. čárka zleva dole doprava nahoru (resp. dvě čárky),
  6. čárka zleva nahoře doprava dolů (resp. dvojitá zpětná čárka),
  7. stříška (circumflex),
  8. háček,
  9. tilda (vlnovka),
  10. oblouček,
  11. obrácený oblouček,
  12. cedilla,
  13. ocásek,
  14. kroužek.

Pokud se v textu používají indexy či exponenty, přihlíží se k nim jen sekundárně, obdobně jako by se jednalo o diakritická znaménka před či za písmenem.

Velikost písmen a ostatní znaky (číslice, apostrof, spojovník)[editovat | editovat zdroj]

Při řazení se vůbec nebere ohled na malá a velká písmena (slova lišící se jen velikostí písmen mohou být v libovolném vzájemném pořadí), což je zjednodušení oproti předchozí normě (která malá písmena řadila před velká).

Číslice se řadí za všemi písmeny, přičemž se řadí podle své číselné hodnoty, apostrof je ještě za číslicemi.

Spojovník a nezlomitelná mezera se naopak řadí před celou abecedu, tedy před A.

Příklad řazení[editovat | editovat zdroj]

  1. padá
  2. sál (s > p)
  3. sála (delší než předchůdce)
  4. sálá (á > a, se sekundární řadicí platností)
  5. säla (ä > á, se sekundární řadicí platností)
  6. satira (t > l)
  7. si lehá (i > a)
  8. si nese (n > l)
  9. sílí (si je kratší než sílí)
  10. šála (š > s s primární řadící platností)
  11. šat (t > l)
  12. ta (t > š)

Jiné jazyky používající latinku[editovat | editovat zdroj]

Všechny jazyky používající latinku mají abecední pořadí v zásadě stejné (odvozené z výše uvedeného základního pořadí), ale v detailech existují rozdíly, působené zejména spřežkami a diakritiky, s nimiž různé jazyky při řazení zacházejí jinak. V některých latinkách se také navíc používají zvláštní znaky jako æ, þ, ß a další.

Němčina[editovat | editovat zdroj]

V Německu platí dva standardy řazení používající se v různých kontextech, od nichž se ještě liší standard rakouský. Hlavní odlišnost je v zacházení s přehláskami. V německých slovnících se např. o a ö primárně neliší, zatímco v telefonním seznamuö platnost jako oe (takže např. Göthe je v abecedě před Goldmann). V Rakousku pak naopak na přehlásce záleží a ö se vždy řadí až za o. Podobně má v Německu stejnou platnost ss a ß, zatímco v Rakousku následuje ß až po s.

Polština[editovat | editovat zdroj]

Samostatnou platnost mají polské znaky ą, ć, ę, ś, po z pak následuje ź a nakonec ż. Háčky (např. nad českými jmény) se naopak nezohledňují. Spřežky se rovněž nezohledňují (patrné je to zejména u ch).

Maďarština[editovat | editovat zdroj]

Zvláštní pořadí mají digrafy cs, gy, ly, ny, sz, ty a zs (takže např. sekvence cs následuje až po cy a cz). Oproti tomu ch se jako dvojznak nebere. U samohlásek primárně nezáleží na délce, ale záleží na přehlásce, takže např. ó je vždy řazeno před ö.

Jiné abecedy[editovat | editovat zdroj]

Každé standardizované hláskové písmo má své závazné pořadí znaků. Abecedy příbuzné latince, jako alfabeta nebo různé verze cyrilice, mají v řazení určité společné rysy (např. na začátku je vždy A, shoduje se pořadí hlásek ve střední pasáži), ale v jiných ohledech se liší. Níže je uvedeno několik příkladů:

Řečtina[editovat | editovat zdroj]

Základních 24 znaků řecké abecedy má toto pořadí:

A B Γ Δ E Z H Θ I K Λ M N Ξ O Π P Σ T Y Φ X Ψ Ω

Ruština[editovat | editovat zdroj]

Ruská azbuka má 30 základních znaků, navíc 2 znaky s diakritikou a jeden digraf, který paradoxně předchází znaku, který je jeho součástí. S řeckou abecedou má společné např. umístění [z] a sekvenci hlásek [u–f–ch]. Na konci jsou řazeny speciální znaky jako „tvrdé E“ (Э) nebo změkčující samohlásky.

A Б B Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я

Srbština[editovat | editovat zdroj]

Srbská cyrilice má řazení značně podobné té ruské, navíc má vložené speciální znaky odpovídající v latince písmenům ć, đ nebo spřežkám dž, lj, nj apod. Poslední hláskou srbské abecedy je [š].

A Б В Г Д Ђ Е Ж З И Ј К Л Љ М Н Њ О П Р С Т Ћ У Ф Х Ц Ч Џ Ш

Gruzínština[editovat | editovat zdroj]

Současná gruzínština používá písmo mchedruli, které má 33 používaných znaků v následujícím pořadí. I zde první písmeno reprezentuje hlásku [a].

ა ბ გ დ ე ვ ზ თ ი კ ლ მ ნ ო პ ჟ რ ს ტ უ ფ ქ ღ ყ შ ჩ ც ძ წ ჭ ხ ჯ ჰ

Neabecední písma[editovat | editovat zdroj]

U znakových písem (např. čínské znaky či japonské kandži) nemůže existovat zapamatovatelné uspořádání všech znaků písma. Řazení proto funguje na mírně odlišném principu: u znaku se určí základní složka a počet tahů znaku. Znaky jsou primárně setříděny podle kořene, v rámci jednoho kořene se řadí vzestupně podle počtu tahů. Např. znak 媽 se řadí pod svůj kořen 女 a v něm mezi třináctitahové znaky.

Tato metoda je evidentně složitější než abecední řazení latinky, proto se jako alternativní metoda často používá také ryze abecední řazení podle výslovnosti příslušného znaku: např. slovo Tokio zapsané v kanji (東京) se dá řadit podle posloupnosti abecedních znaků popisujících jeho výslovnost to-u-ki-jo-u (とうきょう). Pro použití této alternativy je však potřeba znát výslovnost znaků, což použitelnost této metody omezuje.

Praktické problémy řazení[editovat | editovat zdroj]

Při používání počítačů se abecední řazení objevuje v mnoha úlohách, řazení patří k jedné ze základních schopností databází. S řazením však je (a hlavně v minulosti bylo) spojeno mnoho praktických problémů. Zvláště starší programy nejsou schopny dodržovat jednotlivé národní zvyklosti a normy a jsou schopny řadit pouze anglické texty, resp. texty řadí přímo podle hodnot znaků v příslušném kódování (ordinální řazení). Pro české texty to znamená hlavně ignorování zvláštního postavení českého písmene Ch, které je v takovém případě řazeno ke znaku C (mezi sekvenci cg a ci), a řazení znaků s diakritikou až za všechna ostatní písmena abecedy a navíc v přeházeném pořadí.

V moderních programech je již většina národních zvyklostí (a požadavků příslušných norem) respektována, ovšem pro správné chování programu je nutno v konfiguraci nastavit správný jazyk a národní prostředí.

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]