Tuple (informatika)

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 17. dubna 2022; ověření vyžaduje 1 úpravu .

N-tice  je uspořádaná sada pevné délky.

V matematice

Nechť jsou dány množiny , ne nutně odlišné.

Pak n-tice délky n [1] [2] , uspořádaná množina délky n [1] , uspořádaná n - tice [2] nebo n - tice [1] [3]  je uspořádaná posloupnost n prvků , kde protože n-tice je označena výčtem souřadnic v úhlových nebo závorkách [1] :

nebo

Prvek se nazývá i -tá souřadnice [1] [4] ( průmět [2] , složka [2] [4] ) n-tice

Číslo n se nazývá délka nebo rozměr n-tice [2] .

Dvě n-tice jsou stejné, pokud jsou jejich délky a odpovídající prvky stejné [2] [4] :

-li

Příkladem n-tice je aritmetický vektor [2] .

Kartézský součin n množin je množina všech n-tic délky n , jejichž souřadnice jsou převzaty z těchto množin [1] [5] [6] :

N-tice délky 2, 3, 4, 5, ... se také nazývají " uspořádaná dvojice ", " uspořádaná trojka ", " uspořádaná čtyřka ", " uspořádaná pětice " atd. [2]

Definice v teorii množin

V rámci teorie množin lze n-tice indukčně mapovat na množiny [1] [7] [8] , například takto [1] [7] :

Definování dalších objektů pomocí n-tic

Mnoho matematických objektů je formálně definováno jako n-tice. Například orientovaný graf je definován jako dvojice , kde V je množina vrcholů a E je podmnožina dvojic v odpovídajících obloucích grafu [9] . Bod v n - rozměrném prostoru reálných čísel je definován jako n-tice délky n složený z prvků množiny reálných čísel.

Orientovaný multigraf s množinou vrcholů V , množinou oblouků E a incidenční relací lze definovat jako uspořádanou trojici právě tehdy , když oblouk e opustí vrchol a a vstoupí do vrcholu b [10] .

V programování

V některých programovacích jazycích , jako je Python nebo ML , je n-tice jako datový typ zabudován do jazyka. Příklad použití n-tice v Pythonu:

a = ( 1 , 3.14 , 'cat' ) print ( a [ 0 ]) # Tisk prvního prvku n-tice

V programovacích jazycích se statickým typováním se n-tice liší od seznamu tím, že prvky n-tice mohou patřit k různým typům a množina takových typů je předem určena typem n-tice, což znamená, že velikost n-tice je také určena n-tice. Na druhou stranu kolekce (seznamy, pole) mají limit na typ uložených prvků, ale žádný limit na délku. Takže například v jazyce Rust může funkce vracet více hodnot pomocí n-tice:

fn div_with_remainder ( a : i32 , b : i32 ) -> ( i32 , i32 , String ) { nech tmp = ( a / b , a % b ); ( tmp . 0 , tmp . 1 , formát! ( " {} + { " , tmp . 0 , tmp . 1 )) } let ( res , rem , repr ) = div_with_remainder ( 5 , 2 );

Ve funkcionálních jazycích berou víceargumentové uncurried funkce parametry jako jeden argument, což je n-tice.

V C++ je podpora n-tic implementována jako šablona třídy std::tuple [11] (od C++11 [12] ) a v knihovně Boost Tuple Library [13] .

N-tice je standardním typem na platformě .NET od verze 4.0 [14] .

V databázích

V relačních databázích je n-tice prvkem vztahu . Pro N -ární vztah je n-tice uspořádaná množina N hodnot, jedna hodnota pro každý atribut vztahu.

Poznámky

  1. 1 2 3 4 5 6 7 8 Sudoplatov, Ovchinnikova, 2002 , str. patnáct.
  2. 1 2 3 4 5 6 7 8 Belousov a Tkachev, 2004 , str. 39.
  3. Anglicko-ruský slovník matematických pojmů, 1994 .
  4. 1 2 3 Vilenkin, 1975 , str. 75.
  5. Belousov, Tkachev, 2004 , s. 39-40.
  6. Kormen, Leizerson, Rivest, Stein, 2005 , str. 1206.
  7. 1 2 Hrbáček, Jech, 1999 , str. 17-18.
  8. Kormen, Leizerson, Rivest, Stein, 2005 , str. 1206-1207.
  9. Kormen, Leizerson, Rivest, Stein, 2005 , str. 1213.
  10. Sudoplatov, Ovchinnikova, 2002 , str. 109.
  11. <tuple> . C++ reference. Získáno 11. října 2013. Archivováno z originálu 14. října 2013.
  12. std::tuple . cppreference.com . Získáno 12. října 2013. Archivováno z originálu 15. října 2013.
  13. The Boost Tuple Library - 1.54.0 . Posilte knihovny C++. Datum přístupu: 12. října 2013. Archivováno z originálu 14. října 2013.
  14. Třída Tuple . MSDN . Datum přístupu: 7. března 2011. Archivováno z originálu 24. září 2010.

Literatura

  • Sudoplatov SV, Ovchinnikova EV Základy diskrétní matematiky: učebnice. - M. : INFRA-M, Novosibirsk: Nakladatelství NSTU, 2002. - 280 s. — (Řada "Vysokoškolské vzdělávání"). ISBN 5-16-000957-4 (INFRA-M), ISBN 5-7782-0332-2 (NSTU)
  • Belousov A. I., Tkachev S. B. Diskrétní matematika: učebnice pro střední školy / Edited by V. S. Zarubin, A. P. Krishchenko. — 3. vydání, stereotypní. - M . : Vydavatelství MSTU im. N. E. Bauman, 2004. - 744 s. — ISBN 5-7038-1769-2 .
  • Kormen, Thomas H., Leiserson, Charles I., Rivest, Ronald L., Stein, Clifford. Algoritmy: konstrukce a analýza = Úvod do algoritmů. — 2. vydání. - M. : Nakladatelství "Williams", 2005. - 1296 s. — ISBN 5-8459-0857-4 .
  • N. Ya Vilenkin. Populární kombinatorika. — M .: Nauka, 1975.
  • Anglicko-ruský slovník matematických pojmů / Ed. P. S. Alexandrova. - 2., opraveno. a doplňkové vyd. - M .: Mir, 1994. - 416 s. — ISBN 5-03-002952-4 .
  • Karel Hrbáček, Tomáš Jech. Úvod do teorie množin. — Třetí vydání, přepracované a rozšířené. - 1999. - ISBN 0-8247-7915-0 .

Odkazy