Tuple (datalogi)

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 17. april 2022; verifikation kræver 1 redigering .

En tupel  er et bestilt sæt af fast længde.

I matematik

Lad sæt være givet , ikke nødvendigvis adskilte.

Så er en tupel af længden n [1] [2] , et ordnet sæt af længden n [1] , en ordnet n -tupel [2] eller en n - tupel [1] [3]  en ordnet sekvens af n elementer, hvor for en tupel er angivet ved at optælle koordinater i vinkel eller parentes [1] :

eller

Elementet kaldes den i'te koordinat [ 1] [4] ( projektion [2] , komponent [2] [4] ) af tuplet

Tallet n kaldes tupelens længde eller dimension [2] .

To tupler er ens, hvis deres længde og tilsvarende elementer er ens [2] [4] :

hvis

Et eksempel på en tupel er en aritmetisk vektor [2] .

Det kartesiske produkt af n sæt er mængden af ​​alle tupler af længden n , hvis koordinater er taget fra disse mængder [1] [5] [6] :

Tupler af længde 2, 3, 4, 5, ... kaldes også " bestilt par ", "bestilte tre", "bestilte fire", "bestilte fem" osv. [2]

Definitioner i mængdeteori

Inden for mængdeteori kan tupler induktivt kortlægges til mængder [1] [7] [8] , for eksempel som følger [1] [7] :

Definere andre objekter via tuples

Mange matematiske objekter er formelt defineret som tupler. For eksempel er en rettet graf defineret som et par , hvor V er sættet af hjørner og E er delmængden af ​​par i de tilsvarende buer af grafen [9] . Et punkt i det n -dimensionelle rum af reelle tal er defineret som en tupel af længden n , sammensat af elementerne i sættet af reelle tal.

En orienteret multigraf med et sæt toppunkter V , et sæt buer E og en incidensrelation kan defineres som en ordnet tripel, hvis og kun hvis buen e forlader toppunktet a og går ind i toppunktet b [10] .

I programmering

I nogle programmeringssprog , såsom Python eller ML , er tuple som datatype indbygget i sproget. Et eksempel på brug af en tuple i Python:

a = ( 1 , 3.14 , 'kat' ) print ( a [ 0 ]) # Udskriv det første element i tuple

I programmeringssprog med statisk skrivning adskiller en tuple sig fra en liste ved, at elementerne i tuplen kan tilhøre forskellige typer , og sættet af sådanne typer er forudbestemt af typen af ​​tuple, hvilket betyder, at størrelsen af tuple bestemmes også. På den anden side har samlinger (lister, arrays) en begrænsning på typen af ​​lagrede elementer, men ingen begrænsning på længden. Så for eksempel i Rust -sproget kan en funktion returnere flere værdier ved hjælp af tuple wrapping:

fn div_with_remainder ( a : i32 , b : i32 ) -> ( i32 , i32 , streng ) { lad tmp = ( a / b , a % b ); ( tmp . 0 , tmp . 1 , format! ( "{} + {}" , tmp . 0 , tmp . 1 )) } lad ( res , rem , repr ) = div_with_remainder ( 5 , 2 );

I funktionelle sprog tager multi-argument uncurried -funktioner parametre som et enkelt argument, hvilket er en tupel.

I C++ er tuple-understøttelse implementeret som en klasseskabelon std::tuple [11] (siden C++11 [12] ) og i Boost Tuple Library [13] .

Tuplet har været en standardtype i .NET -platformen siden version 4.0 [14] .

I databaser

I relationelle databaser er en tupel et element i en relation . For en N -ær relation er en tupel et ordnet sæt af N værdier, en værdi for hver relationsattribut.

Noter

  1. 1 2 3 4 5 6 7 8 Sudoplatov, Ovchinnikova, 2002 , s. femten.
  2. 1 2 3 4 5 6 7 8 Belousov og Tkachev, 2004 , s. 39.
  3. Engelsk-russisk ordbog over matematiske termer, 1994 .
  4. 1 2 3 Vilenkin, 1975 , s. 75.
  5. Belousov, Tkachev, 2004 , s. 39-40.
  6. Kormen, Leizerson, Rivest, Stein, 2005 , s. 1206.
  7. 1 2 Hrbacek, Jech, 1999 , s. 17-18.
  8. Kormen, Leizerson, Rivest, Stein, 2005 , s. 1206-1207.
  9. Kormen, Leizerson, Rivest, Stein, 2005 , s. 1213.
  10. Sudoplatov, Ovchinnikova, 2002 , s. 109.
  11. <tuple> . C++ reference. Hentet 11. oktober 2013. Arkiveret fra originalen 14. oktober 2013.
  12. std::tuple . cppreference.com . Hentet 12. oktober 2013. Arkiveret fra originalen 15. oktober 2013.
  13. The Boost Tuple Library - 1.54.0 . Boost C++ biblioteker. Dato for adgang: 12. oktober 2013. Arkiveret fra originalen 14. oktober 2013.
  14. Tuple-klasse . MSDN . Dato for adgang: 7. marts 2011. Arkiveret fra originalen 24. september 2010.

Litteratur

  • Sudoplatov SV, Ovchinnikova EV Elementer af diskret matematik: Lærebog. - M. : INFRA-M, Novosibirsk: Forlag af NSTU, 2002. - 280 s. — (Serie "Højere uddannelse"). ISBN 5-16-000957-4 (INFRA-M), ISBN 5-7782-0332-2 (NSTU)
  • Belousov A. I., Tkachev S. B. Diskret matematik: Lærebog for gymnasier / Redigeret af V. S. Zarubin, A. P. Krishchenko. — 3. oplag, stereotypisk. - M . : Forlag af MSTU im. N. E. Bauman, 2004. - 744 s. — ISBN 5-7038-1769-2 .
  • Kormen, Thomas H., Leiserson, Charles I., Rivest, Ronald L., Stein, Clifford. Algoritmer: konstruktion og analyse = Introduktion til algoritmer. — 2. udgave. - M . : Forlaget "Williams", 2005. - 1296 s. — ISBN 5-8459-0857-4 .
  • N. Ya. Vilenkin. Populær kombinatorik. — M .: Nauka, 1975.
  • Engelsk-russisk ordbog over matematiske termer / Ed. P. S. Alexandrova. - 2., rettet. og yderligere udg. - M . : Mir, 1994. - 416 s. — ISBN 5-03-002952-4 .
  • Karel Hrbacek, Thomas Jech. Introduktion til mængdelære. — Tredje Oplag, revideret og udvidet. - 1999. - ISBN 0-8247-7915-0 .

Links