Кортеж
В математике кортеж или упла — это конечный упорядоченный список (последовательность) элементов. N-кортеж — это последовательность (или упорядоченный список) из n элементов, где n — целое неотрицательное число. Существует только один 0-кортеж, называемый пустым кортежем. N-кортеж определяется индуктивно путем построения упорядоченной пары.
Математики часто пишут кортежи, перечисляя элементы в круглых скобках «()» и разделяя их запятыми; например, (2, 7, 4, 1, 7) обозначает кортеж из 5. Иногда для окружения элементов используются другие символы, такие как квадратные скобки «[]» или угловые скобки «⟨⟩». Скобки "{}" используются для указания массивов в некоторых языках программирования, но не в математических выражениях, поскольку они являются стандартной записью для множеств. Термин кортеж может часто появляться, когда речь идет о других математических объектах, таких как векторы.
В вычислениях кортежи бывают разных форм. Большинство типизированных языков функционального программирования реализуют кортежи непосредственно как типы продуктов, тесно связанные с алгебраическими типами данных, сопоставлением с образцом и деструктурирующим присваиванием. Многие языки программирования предлагают альтернативу кортежам, известные как типы записей, которые имеют неупорядоченные элементы, доступ к которым осуществляется по тегу. Некоторые языки программирования объединяют упорядоченные типы продуктов кортежей и неупорядоченные типы записей в одной конструкции, как в структурах C и записях Haskell. Реляционные базы данных могут формально идентифицировать свои строки (записи) как кортежи.
Кортежи также встречаются в реляционной алгебре; путем программирования семантической сети с помощью структуры описания ресурсов (RDF); в лингвистике; и в философии.
Происхождение понятия
Термин кортеж был сгенерирован просто из обобщения следующей последовательности: двойка , тройка , четверка , пятерка , ... n-кортеж . Кортеж длины n обычно описывается как n - кортеж . Двойка, например, называется парой или двойкой ; тройка тройка или тройка (в Латинской Америке также используется тройка или тройка ). Префикс n может быть любым положительным целым числом; можно, например, назвать кватернион , представляя 4-кортеж, и продолжать последовательно генерировать имена, такие как otuple , но многие математики предпочитают быстрое и простое наименование, написав «8-кортеж», даже если он произносится как « восьмерка".
Хотя это термин, обычно используемый в математике и программировании, [ 1 ] слово «кортеж» отсутствует в словаре Королевской испанской академии ни как суффикс, ни как независимый термин. [ 2 ]
Формальные определения
Основные свойства, отличающие кортеж, скажем, от множества , заключаются в том, что в таком кортеже:
- Объект может содержать внутри (путем агрегации) другие объекты.
- Объекты обязательно представлены в заданном порядке.
Обратите внимание, что первая функция отличается от того, что называется мультимножеством , а вторая — от того, что называется упорядоченным набором . Это можно формализовать, задав следующее правило идентичности для двух n -кортежей:
Другой способ формализовать кортежи — биективная ассоциация между определением кортежа и более примитивной конструкцией в теории множеств, такой как упорядоченные пары . Например, n -кортеж (с n > 2) может быть определен как упорядоченная пара его первой записи и ( n −1)-кортежа, содержащего остальные записи, так что:
Используя наиболее распространенное теоретико-множественное определение для упорядоченной пары и позволяя пустому множеству представлять пустой кортеж, можно получить правильный результат с помощью индуктивного определения :
- 0-кортеж (т.е. пустой кортеж) представлен .
- Если x — n -набор, то это ( n + 1)-набор.
Используя это определение, тройка может быть:
Здесь есть важное сходство с тем, как объекты описываются в некоторых компьютерных языках, таких как Lisp , где обычно используется упорядоченная пара, и эта абстракция используется для перебора всех элементов n - кортежной структуры, чтобы следующим образом:
- Специальный символ, например NIL , обозначает пустой список.
- Если X — список, а A — произвольное значение, то пара ( A , X ) представляет список с головой (т. е. первым элементом) A и хвостом (т. е. остальной частью структуры) X .
Использует
Информатика
В информатике кортеж может иметь два разных значения. Как правило, в функциональных языках программирования и других языках программирования кортеж — это объект, который может содержать данные или несколько объектов, подобно математически определенному кортежу. Объект этого типа также известен как запись .
Более формальное определение предыдущего абзаца было бы таким: Набор элементов разных типов, последовательно хранящихся в памяти.
В некоторых языках и особенно в теории баз данных кортеж определяется как конечная функция, которая сопоставляет (уникально связывает) имена с некоторыми значениями. Его цель та же, что определена в математике.
Небольшой пример может проиллюстрировать это:
- (игрок: "Луис", счет: 25)
В данном случае это функция, которая сопоставляет поле «игрок» со строкой «Луис», а поле «счет» — с целым числом 25. Следует отметить, что порядок компонентов не имеет значения, таким образом, то же самое кортеж можно переписать как: (счет: 25, игрок: "Луи"). В реляционной модели, определенной в кортежах, обычно представляется простое предложение, в данном случае есть игрок с именем «Луис», набравший 25 очков.
В языках программирования кортежи часто используются для формирования структур данных. Например, следующим может быть определение структуры данных для связанного списка :
- (значение: 16, предыдущий узел: 1174782, следующий узел: 1174791)
Языки разметки
Кортежи часто используются в определении определенных элементов в языках разметки , таких как XML . В частности, очень важной частью разработки таксономий на языке XBRL является описание финансовых отчетов.
Реляционное исчисление
Кортежи находят место в теоретическом изучении баз данных, особенно в области реляционного исчисления , поскольку они обеспечивают базовую нотацию для формулировки определения отношения в терминах отношений базы данных. В реляционном исчислении используется исчисление, ориентированное на кортежи, в отличие от исчисления, ориентированного на предметную область. Чаще всего он используется в высокоуровневых определениях пар атрибут - значение .
Смотрите также
Ссылки
- ^ "Кортежи" (html) . Технический университет Федерико Санта-Мария . Архивировано из оригинала 27 августа 2012 года . Проверено 6 июля 2022 г. . «Кортеж — это последовательность сгруппированных значений. Кортеж используется для группировки, как если бы они были одним значением, нескольких значений, которые по своей природе должны идти вместе. »
- ↑ АСАЛЕ, РАЭ-. «Словарь испанского языка | Трехсотлетие» . «Словарь испанского языка» - трехсотлетие издания . Проверено 25 апреля 2020 г. .