Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Понятие Кортеж в информатике и математике

Лекция



Сразу хочу сказать, что здесь никакой воды про кортеж, и только нужная информация. Для того чтобы лучше понимать что такое кортеж , настоятельно рекомендую прочитать все из категории Структуры данных.

кортеж — упорядоченный набор фиксированной длины.

Этимология

Термин возник как абстракция последовательности: single, couple / double, triple, quadruple, quintuple, sextuple, septuple, octuple, ..., n ‑tuple, ..., где префиксы взяты из латинских названий цифры. Уникальный 0-кортеж называется нулевым кортежем или пустым кортежем. Кортеж из 1 называется одиночным (или одноэлементным), кортеж из двух элементов называется упорядоченной парой или парой, а набор из трех элементов называется тройкой (или тройкой). Число n может быть любым целым неотрицательным числом . Например, комплексное число может быть представлено как кортеж из двух вещественных чисел, кватернион может быть представлен как кортеж из четырех, октонион может быть представлен как кортеж из восьми, а седенион можно представить в виде 16-кратного кортежа.

Хотя в этих случаях суффикс трактуется как кратный , исходный суффикс был кратным, например, «тройной» (тройной) или «десятикратный» (десятикратный). Это происходит от средневекового латинского plus (что означает «больше»), связанного с греческим ‑πλοῦς, который заменил классический и позднеантичный ‑plex (что означает «сложенный»), как в «дуплекс».

Определения

Есть несколько определений кортежей, которые придают им свойства, описанные в предыдущем разделе.

Кортежи как функции

Если мы имеем дело с множествами, п -кратным можно рассматривать как функцию , F , чей домен подразумевается набор кортежа по индексам элементов, X , и чья область значений, Y , является множеством кортежей по элементам. Формально:

Понятие Кортеж  в информатике и математике

где:

Понятие Кортеж  в информатике и математике

В несколько менее формальных обозначениях это говорит:

Понятие Кортеж  в информатике и математике

Используя это определение Понятие Кортеж  в информатике и математике-наборы, то есть только один Понятие Кортеж  в информатике и математике-tuple, пустая функция .

Кортежи как вложенные упорядоченные пары [ править ]

Другой способ моделирования кортежей в Теории множеств - это вложенные упорядоченные пары . Этот подход предполагает, что понятие упорядоченной пары уже определено; таким образом, 2-кортеж

  1. 0-кортеж (т.е. пустой кортеж) представлен пустым набором Понятие Кортеж  в информатике и математике.
  2. П -кратный с п > 0 , может быть определена как упорядоченная пара ее первой запись и ( п - 1) -кратного (который содержит остальные записи , когда п > 1) :

    Понятие Кортеж  в информатике и математике

Это определение может быть применено рекурсивно к ( n - 1) -набору:

Понятие Кортеж  в информатике и математике

Так, например:


    \ begin {align} (1, 2, 3) & = (1, (2, (3, \ emptyset))) \\ (1, 2, 3, 4) & = (1, (2, (3, (4, \ emptyset)))) \\ \ end {align}

Вариант этого определения начинается с «отслаивания» элементов с другого конца:

  1. 0-кортеж - это пустой набор Понятие Кортеж  в информатике и математике.
  2. Для n > 0 :

    Понятие Кортеж  в информатике и математике

Это определение можно применить рекурсивно:

Понятие Кортеж  в информатике и математике

Так, например:


    \ begin {align} (1, 2, 3) & = (((\ emptyset, 1), 2), 3) \\ (1, 2, 3, 4) & = ((((\ emptyset, 1) , 2), 3), 4) \\ \ end {align}

Кортежи как вложенные наборы

Используя представление Куратовского для упорядоченной пары , второе определение выше может быть переформулировано в терминах чистой теории множеств :

  1. 0-кортеж (т.е. пустой кортеж) представлен пустым набором Понятие Кортеж  в информатике и математике;
  2. Позволять Понятие Кортеж  в информатике и математикебыть n -элементомПонятие Кортеж  в информатике и математике, и разреши Понятие Кортеж  в информатике и математике. Об этом говорит сайт https://intellect.icu . Потом,Понятие Кортеж  в информатике и математике. (Стрелка вправо,Понятие Кортеж  в информатике и математике, можно прочитать как «примыкающий к».)

В этой формулировке:

имеем

Понятие Кортеж  в информатике и математике

п -наборов из м - множеств

В дискретной математике , особенно в комбинаторике и теории конечных вероятностей , n -наборы возникают в контексте различных задач подсчета и рассматриваются более неформально как упорядоченные списки длины n . n -наборы, элементы которых происходят из набора из m элементов, также называются аранжировками с повторением , перестановками мультимножества и, в некоторых неанглоязычных источниках, вариациями с повторением . Количество n -элементов m -множества равно m n . Это следует из комбинаторнойправило продукта . Если S является конечным множеством мощности т , это число мощности на п -кратной декартову мощность S × S × ... S . Кортежи являются элементами этого набора продуктов.

В математике

В математике , А кортеж является конечным упорядоченным списком (последовательности) элементов . П -кратного представляет собой последовательность (или упорядоченный список) из п элементов, где п является неотрицательным целым числом . Есть только один 0-кортеж, называемый пустым кортежем . П -кратный является определяются индуктивно с использованием конструкции упорядоченной пары .

Математики обычно пишут кортежи, перечисляя элементы в круглых скобках « () » и разделяя их запятыми; например, (2, 7, 4, 1, 7) обозначает 5-кортеж. Иногда для окружения элементов используются другие символы, например квадратные скобки «[]» или угловые скобки «⟨⟩». Фигурные скобки «{}» используются только при определении массивов в некоторых языках программирования, но не в математических выражениях, поскольку они являются стандартной записью для множеств . Термин " кортеж" часто встречается при обсуждении других математических объектов, например векторов .

В информатике кортежи бывают разных форм. Большинство типизированных функционального программирования языков реализация кортежи непосредственно в качестве видов продукции , тесно связанно с алгебраическими типами данных , сопоставлением с образцом , и деструктурирующими присваиваниями . Многие языки программирования предлагают альтернативу кортежам, известным как типы записей , с неупорядоченными элементами, доступ к которым осуществляется по метке. Некоторые языки программирования объединяют упорядоченные типы кортежей и неупорядоченные типы записей в единую конструкцию, как в структурах C и записях Haskell. Реляционные базы данныхмогут формально идентифицировать свои строки (записи) как кортежи .

Кортежи также встречаются в реляционной алгебре ; при программировании семантической сети с помощью Resource Description Framework (RDF); в лингвистике ; и в философии .

Пусть даны множества Понятие Кортеж  в информатике и математике, не обязательно различные.

Тогда корте́ж длины n , упорядоченный набор длины n , упорядоченный n-набор или n-ка — упорядоченная последовательность из n элементов Понятие Кортеж  в информатике и математике где Понятие Кортеж  в информатике и математике для Понятие Кортеж  в информатике и математике Кортеж обозначается перечислением координат в угловых или круглых скобках :

Понятие Кортеж  в информатике и математике

или

Понятие Кортеж  в информатике и математике

Элемент Понятие Кортеж  в информатике и математике называется iкоординатой (проекцией , компонентой ) кортежа Понятие Кортеж  в информатике и математике

Число n называют длиной или размерностью кортежа .

Два кортежа равны, если равны их длины и соответствующие элементы :

Понятие Кортеж  в информатике и математике если Понятие Кортеж  в информатике и математике

Пример кортежа — арифметический вектор

Декартово произведение n множеств — множество всех кортежей длины n, координаты которых взяты из этих множеств :

Понятие Кортеж  в информатике и математике

Кортежи длины 2, 3, 4, 5, … также носят названия «упорядоченная пара», «упорядоченная тройка», «упорядоченная четверка», «упорядоченная пятерка» и т. д.

Определения в теории множеств

В рамках теории множеств кортежи можно индуктивно поставить в соответствие множествам , например, следующим образом :

  • Понятие Кортеж  в информатике и математике
  • Понятие Кортеж  в информатике и математике
  • Понятие Кортеж  в информатике и математике
  • Понятие Кортеж  в информатике и математике
  • Понятие Кортеж  в информатике и математике
  • Понятие Кортеж  в информатике и математике

Определение других объектов через кортежи

Многие математические объекты формально определяются как кортежи. Например, ориентированный граф определяется как пара Понятие Кортеж  в информатике и математике где V — это множество вершин, а E — подмножество пар в Понятие Кортеж  в информатике и математике соответствующих дугам графа . Точка в n-мерном пространстве действительных чисел определяется как кортеж длины n, составленный из элементов множества действительных чисел.

Ориентированный мультиграф со множеством вершин V, множеством дуг E и отношением инцидентности Понятие Кортеж  в информатике и математике может быть определен как упорядоченная тройка Понятие Кортеж  в информатике и математике причем Понятие Кортеж  в информатике и математике тогда и только тогда, когда дуга e выходит из вершины a и заходит в вершину b[10].

В программировании

В некоторых языках программирования, например, Python или ML, кортеж как тип данных встроен в язык. Пример использования кортежа в языке Python:

a = (1, 3.14, 'cat')
print(a[0]) # Напечатать первый элемент кортежа

В языках программирования со статической типизацией кортеж отличается от списка тем, что элементы кортежа могут принадлежать разным типам и набор таких типов заранее определен типом кортежа, а значит, и размер кортежа также определен. С другой стороны, коллекции (списки, массивы) имеют ограничение по типу хранимых элементов, но не имеют ограничения на длину. Так, например, в языке Rust функция может вернуть несколько значений с помощью упаковки в кортеж:

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

let (res, rem, repr) = div_with_remainder(5,2);

В функциональных языках некаррированные функции нескольких аргументов принимают параметры в виде одного аргумента, являющегося кортежем.

В языке C++ поддержка кортежей реализована как шаблон класса std::tuple[11] (начиная с C++11[12]) и в библиотеке Boost Tuple Library[13].

Кортеж является стандартным типом в платформе .NET начиная с версии 4.0[14].

В базах данных

В реляционных базах данных кортеж — это элемент отношения. Для N-арного отношения кортеж представляет собой упорядоченный набор из N значений, по одному значению для каждого атрибута отношения.

Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень или "арность" кортежа, т.е. число элементов в нем, совпадает с "арностью" соответствующей схемы отношения. Попросту говоря, кортеж - это набор именованных значений заданного типа.

Отношение - это множество кортежей, соответствующих одной схеме отношения. Иногда, чтобы не путаться, говорят "отношение-схема" и "отношение-экземпляр", иногда схему отношения называют заголовком отношения, а отношение как набор кортежей - телом отношения. На самом деле, понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования. Было бы вполне логично разрешать отдельно определять схему отношения, а затем одно или несколько отношений с данной схемой.

Однако в реляционных базах данных это не принято. Имя схемы отношения в таких базах данных всегда совпадает с именем соответствующего отношения-экземпляра. В классических реляционных базах данных после определения схемы базы данных изменяются только отношения-экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях допускается и изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных.

Обычным житейским представлением отношения является таблица, заголовком которой является схема отношения, а строками - кортежи отношения-экземпляра; в этом случае имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят "столбец таблицы", имея в виду "атрибут отношения". Когда мы перейдем к рассмотрению практических вопросов организации реляционных баз данных и средств управления, мы будем использовать эту житейскую терминологию. Этой терминологии придерживаются в большинстве коммерческих реляционных СУБД.

Реляционная база данных - это набор отношений, имена которых совпадают с именами схем отношений в схеме БД.

Как видно, основные структурные понятия реляционной модели данных (если не считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя в теории реляционных БД все они определяются абсолютно формально и точно.

Понятие Кортеж  в информатике и математике

Отношение – Таблица (иногда Файл),

Кортеж – Строка (иногда Запись),

Вау!! 😲 Ты еще не читал? Это зря!

Пожалуйста, пиши комментарии, если ты обнаружил что-то неправильное или если ты желаешь поделиться дополнительной информацией про кортеж Надеюсь, что теперь ты понял что такое кортеж и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Структуры данных

создано: 2021-03-13
обновлено: 2021-03-13
132265



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Структуры данных

Термины: Структуры данных