Tuple (informatica)

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 17 aprilie 2022; verificarea necesită 1 editare .

Un tuplu  este un set ordonat de lungime fixă.

În matematică

Să fie date seturi , nu neapărat distincte.

Atunci un tuplu de lungime n [1] [2] , o mulțime ordonată de lungime n [1] , un n - tuplu ordonat [2] sau un n - tuplu [1] [3]  este o succesiune ordonată de n elemente în care pentru un tuplu se notează prin enumerarea coordonatelor în unghiulare sau paranteze [1] :

sau

Elementul se numește a i - a coordonată [1] [4] ( proiecția [2] , componenta [2] [4] ) a tuplului

Numărul n se numește lungimea sau dimensiunea tuplului [2] .

Două tupluri sunt egale dacă lungimile lor și elementele corespunzătoare sunt egale [2] [4] :

dacă

Un exemplu de tuplu este un vector aritmetic [2] .

Produsul cartezian al n mulțimi este mulțimea tuturor tuplurilor de lungime n ale căror coordonate sunt luate din aceste mulțimi [1] [5] [6] :

Tuplurile de lungime 2, 3, 4, 5, ... sunt numite și „ pereche ordonată ”, „trei ordonate”, „patru ordonate”, „cinci ordonate”, etc. [2]

Definiții în teoria mulțimilor

În cadrul teoriei mulțimilor, tuplurile pot fi mapate inductiv la mulțimi [1] [7] [8] , de exemplu, după cum urmează [1] [7] :

Definirea altor obiecte prin tupluri

Multe obiecte matematice sunt definite formal ca tupluri. De exemplu, un graf direcționat este definit ca o pereche în care V este mulțimea de vârfuri și E este submulțimea de perechi din arcele corespunzătoare ale graficului [9] . Un punct din spațiul n - dimensional al numerelor reale este definit ca un tuplu de lungime n , compus din elementele mulțimii numerelor reale.

Un multigraf orientat cu o mulțime de vârfuri V , o mulțime de arce E și o relație de incidență poate fi definit ca un triplu ordonat dacă și numai dacă arcul e părăsește vârful a și intră în vârful b [10] .

În programare

În unele limbaje de programare , cum ar fi Python sau ML , tuplul ca tip de date este încorporat în limbaj. Un exemplu de utilizare a unui tuplu în Python:

a = ( 1 , 3.14 , 'cat' ) print ( a [ 0 ]) # Imprimă primul element al tuplului

În limbajele de programare cu tastare statică, un tuplu diferă de o listă prin faptul că elementele tuplului pot aparține unor tipuri diferite , iar setul de astfel de tipuri este predeterminat de tipul tuplului, ceea ce înseamnă că dimensiunea tuplului. se determină și tuplu. Pe de altă parte, colecțiile (liste, tablouri) au o limită a tipului de elemente stocate, dar nici o limită a lungimii. Deci, de exemplu, în limbajul Rust , o funcție poate returna mai multe valori folosind împachetarea tuplelor:

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

În limbajele funcționale , funcțiile cu mai multe argumente iau parametrii ca un singur argument, care este un tuplu.

În C++ , suportul pentru tuplu este implementat ca șablon de clasă std::tuple [11] (din C++11 [12] ) și în Biblioteca Boost Tuple [13] .

Tuplu a fost un tip standard în platforma .NET începând cu versiunea 4.0 [14] .

În baze de date

În bazele de date relaționale, un tuplu este un element al unei relații . Pentru o relație N -ary, un tuplu este un set ordonat de N valori, o valoare pentru fiecare atribut al relației.

Note

  1. 1 2 3 4 5 6 7 8 Sudoplatov, Ovchinnikova, 2002 , p. cincisprezece.
  2. 1 2 3 4 5 6 7 8 Belousov și Tkaciov, 2004 , p. 39.
  3. Dicționar englez-rus de termeni matematici, 1994 .
  4. 1 2 3 Vilenkin, 1975 , p. 75.
  5. Belousov, Tkaciov, 2004 , p. 39-40.
  6. Kormen, Leizerson, Rivest, Stein, 2005 , p. 1206.
  7. 1 2 Hrbacek, Jech, 1999 , p. 17-18.
  8. Kormen, Leizerson, Rivest, Stein, 2005 , p. 1206-1207.
  9. Kormen, Leizerson, Rivest, Stein, 2005 , p. 1213.
  10. Sudoplatov, Ovchinnikova, 2002 , p. 109.
  11. <tuplu> . Referință C++. Consultat la 11 octombrie 2013. Arhivat din original pe 14 octombrie 2013.
  12. std::tuple . cppreference.com . Consultat la 12 octombrie 2013. Arhivat din original pe 15 octombrie 2013.
  13. Biblioteca Boost Tuple - 1.54.0 . Boost bibliotecile C++. Data accesului: 12 octombrie 2013. Arhivat din original la 14 octombrie 2013.
  14. Clasa tuple . MSDN . Data accesului: 7 martie 2011. Arhivat din original pe 24 septembrie 2010.

Literatură

  • Sudoplatov SV, Ovchinnikova EV Elemente de matematică discretă: manual. - M. : INFRA-M, Novosibirsk: Editura NSTU, 2002. - 280 p. — (Seria „Învățămîntul superior”). ISBN 5-16-000957-4 (INFRA-M), ISBN 5-7782-0332-2 (NSTU)
  • Belousov A. I., Tkachev S. B. Matematică discretă: manual pentru licee / Editat de V. S. Zarubin, A. P. Krishchenko. — Ediția a 3-a, stereotipă. - M . : Editura MSTU im. N. E. Bauman, 2004. - 744 p. — ISBN 5-7038-1769-2 .
  • Kormen, Thomas H., Leiserson, Charles I., Rivest, Ronald L., Stein, Clifford. Algoritmi: constructie si analiza = Introduction to Algorithms. — ediția a II-a. - M . : Editura „Williams”, 2005. - 1296 p. — ISBN 5-8459-0857-4 .
  • N. Ya. Vilenkin. Combinatorică populară. — M .: Nauka, 1975.
  • Dicţionar englez-rus de termeni matematici / Ed. P. S. Alexandrova. - al 2-lea, corectat. si suplimentare ed. - M . : Mir, 1994. - 416 p. — ISBN 5-03-002952-4 .
  • Karel Hrbacek, Thomas Jech. Introducere în teoria mulțimilor. — Ediția a treia, revizuită și extinsă. - 1999. - ISBN 0-8247-7915-0 .

Link -uri