Кортеж (інформатика)

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Кортеж)
Перейти до: навігація, пошук

Корте́ж або n-ка — в математиці впорядкована та скінченна сукупність елементів (нескінченний кортеж має назву сімейства).

Кількість елементів в кортежі визначає його довжину. Так, кортеж з двох елементів (тобто довжини 2) називається двійкою, з трьох елементів - трійкою і т.д. Кортеж з n елементів називається n-кою.

Формальне означення[ред.ред. код]

Головною властивістю кортежа, яка відрізняє його від множини є те, що, по-перше, кортеж може містити декілька екземплярів одного об'єкта (в множині однакові об'єкти не розрізняються, і ця властивість також відрізняє кортеж від впорядкованої множини), та, по-друге, об'єкти в кортежі впорядковані. Це твердження формалізується таким чином:

(a1, a2, ...,an) = (b1, b2, ..., bn) ⇔ a1 = b1, a2 = b2 ... an = bn

Часто кортеж з n елементів визначається індуктивно через впорядковану пару, тобто n-ка (де n > 2) визначається як впорядкована пара її першого елемента, та кортеж з n-1 її останніх елементів:

(a1, a2, ..., an) = (a1, (a2, ..., an))

Тобто:

  1. 0-кортеж (тобто порожній кортеж) визначається як ∅
  2. якщо x є n-ка, то {{a}, {a, x}} є (n + 1)-ка.

Наприклад, для трійки (1,2,2) це призводить до наступного визначення:

(1,(2,(2,()))) = (1,(2, {{2}, {2, ∅}} )) = (1, {{2}, {2, {{2}, {2, ∅}}}} ) = {{1}, {1, {{2}, {2, {{2}, {2, ∅}}}}}}

У програмуванні[ред.ред. код]

У деяких мовах програмування, наприклад, Python або ML, кортеж - особливий тип даних. У мові Python кортеж (англ. Tuple) відрізняється від списку тим, що елементи кортежу не можна змінювати. Ця програма на Python 2.7, яка використовує кортеж a, виведе помилку в 3-му рядку: TypeError: 'tuple' object does not support item assignment. У мовах програмування зі статичної типізацією кортеж відрізняється від списку тим, що елементи кортежу можуть належати різним типам і набір таких типів заздалегідь визначений типом кортежу, а значить і розмір кортежу також визначено. З іншого боку, колекції (списки, масиви) мають обмеження по типу збережених елементів, але не мають обмеження на довжину. У функціональних мовах некаррірованние функції декількох аргументів приймають параметри у вигляді одного аргументу, що є кортежем. У мові C++ підтримка кортежів реалізована як шаблон класу std :: tuple (починаючи з C++ 11) і в бібліотеці Boost Tuple Library. Кортеж є стандартним типом в платформі .NET починаючи з версії 4.0.

У базах даних[ред.ред. код]

У реляційних базах даних кортеж - це елемент відносини. Для N-арного відносини кортеж є упорядкований набір з N значень, по одному значенню для кожного атрибута відносини.

Примітки[ред.ред. код]

Кортеж на сайті http://znaimo.com.ua

Див. також[ред.ред. код]