Tsort (Unix)
Program tsort je nástroj příkazového řádku na platformách Unix, který provádí topologické řazení. Je součástí standardu POSIX.1 asi od roku 2017 [1]. HistoriePodle manuálové stránky byl tento příkaz původně napsán pro topologické řazení objektových souborů. Toto pořadí mělo umožnit linkeru je sekvenčně zpracovávat (každý přesně jednou a v přesně daném pořadí).[2]. Manuálová stránka FreeBSD má vzhled verze 7 Unix [3]. V následujícím odstavci je popsáno chování implementace Syntaxetsort [-dlq] [SOUBOR] Přepínače podporované programem -d zapnout ladění (debugging) -l vyhledat a zobrazit nejdelší cyklus. -q nezobrazovat informační zprávy o cyklech. V implementaci GNU existují pouze následující přepínače: --help zobrazí zprávu nápovědy a skončí --version zobrazí informace o verzi a skončí Standard POSIX nepředepisuje žádné přepínače. Chovánítsort čte vstup buď z textového souboru nebo ze standardního vstupu (to v případě, pokud příkazu není předán žádný název souboru nebo speciální soubor pojmenovaný -). Vstup tvoří dvojice řetězců oddělených mezerami, které značí částečné uspořádání určité množiny. Výstupem je některé úplné uspořádání, které odpovídá podmínkám určeným zadaným částečným uspořádání. [4] Jinými slovy: tsort vypíše pro zadaný orientovaný acyklický graf takové pořadí vrcholů, že po zakreslení vrcholů v tomto pořadí povedou hrany jen jedním směrem. Je-li například v grafu přítomná hrana a → b, ve výstupu příkazu tsort musí být t před a. Příkladytsort vypisuje vrcholy orientovaného acyklického grafu v topologickém pořadí. Jednotlivé prvky grafu budou vypsány tak, že prvky budou seřazeny za sebou podle toho, v jakém pořadí je třeba je projít tak, aby byly splněny všechny závislosti:
Pořadí definice funkcítsort je možné použít k vytvoření pořadí, ve kterém mají být funkce definovány ve zdrojovém souboru tak, aby bylo co nejvíce funkcí (ideálně všechny) deklarováno před jejich prvním použitím. V následujícím příkladu interpretujte dvojici Z výsledku je poté zřejmé, že funkce
Poznámka k užití tsortuJako oddělovač je možné použít jakoukoliv posloupnost bílých znaků. To znamená, že následující vstupy programu jsou ekvivalentní:
Páry identických písmem značí přítomnost vrcholu, ale ne jeho řazení (následující vstup značí jeden vrchol bez jakékoliv hrany): a a V případě, kdy není možné topologické uspořádání sestrojit (proto, že existuje jeden nebo více cyklů[5]), tsort vytiskne chybovou hlášku. GNU varianta utility tsort vytiskne seznam zjištěných cyklů v grafu (viz řádky s prefixem $ tsort <<EOF
> a b
> b c
> c a
> EOF
UX: tsort: INFORM: cycle in data
tsort: a
tsort: b
tsort: c
a
b
c
OdkazyReferenceV tomto článku byl použit překlad textu z článku Tsort na anglické Wikipedii.
Související článkyExterní odkazy
|
Portal di Ensiklopedia Dunia