Кортеж — упорядоченный набор фиксированной длины.
В математике
Пусть даны множества , не обязательно различные.
Тогда корте́ж длины n, упорядоченный набор длины n, упорядоченный n-набор или n-ка — упорядоченная последовательность из n элементов где для Кортеж обозначается перечислением координат в угловых или круглых скобках:
или
Элемент называется i-й координатой (проекцией, компонентой) кортежа
Число n называют длиной или размерностью кортежа.
Два кортежа равны, если равны их длины и соответствующие элементы:
- если
Пример кортежа — (арифметический вектор).
Декартово произведение n множеств — множество всех кортежей длины n, координаты которых взяты из этих множеств:
Кортежи длины 2, 3, 4, 5, … также носят названия «(упорядоченная пара)», «упорядоченная тройка», «упорядоченная четвёрка», «упорядоченная пятёрка» и т. д.
Определения в теории множеств
В рамках теории множеств кортежи можно индуктивно поставить в соответствие множествам, например, следующим образом:
Определение других объектов через кортежи
Многие математические объекты формально определяются как кортежи. Например, (ориентированный граф) определяется как пара где V — это множество вершин, а E — подмножество (пар) в соответствующих дугам графа. Точка в n-мерном пространстве действительных чисел определяется как кортеж длины n, составленный из элементов множества действительных чисел.
Ориентированный (мультиграф) со множеством вершин V, множеством дуг E и отношением инцидентности может быть определён как упорядоченная тройка причём (тогда и только тогда), когда дуга e выходит из вершины a и заходит в вершину b.
В программировании
В некоторых языках программирования, например, 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);
В функциональных языках (некаррированные) функции нескольких аргументов принимают параметры в виде одного аргумента, являющегося кортежем.
В языке поддержка кортежей реализована как шаблон класса std::tuple (начиная с ) и в библиотеке (Boost Tuple Library).
Кортеж является стандартным типом в платформе .NET начиная с версии 4.0.
В базах данных
В реляционных базах данных кортеж — это элемент отношения. Для N-арного отношения кортеж представляет собой упорядоченный набор из N значений, по одному значению для каждого атрибута отношения, то есть запись (строку) таблицы, если использовать наиболее популярное представление (графическую/физическую интерпретацию) отношения как таблицы.
Примечания
- Судоплатов, Овчинникова, 2002, с. 15.
- Белоусов, Ткачев, 2004, с. 39.
- Англо-русский словарь математических терминов, 1994.
- Виленкин, 1975, с. 75.
- Белоусов, Ткачев, 2004, с. 39-40.
- Кормен, Лейзерсон, Ривест, Штайн, 2005, с. 1206.
- Hrbacek, Jech, 1999, p. 17-18.
- Кормен, Лейзерсон, Ривест, Штайн, 2005, с. 1206-1207.
- Кормен, Лейзерсон, Ривест, Штайн, 2005, с. 1213.
- Судоплатов, Овчинникова, 2002, с. 109.
- <tuple> . C++ Reference. Дата обращения: 11 октября 2013. 14 октября 2013 года.
- std::tuple . cppreference.com. Дата обращения: 12 октября 2013. 15 октября 2013 года.
- The Boost Tuple Library — 1.54.0 . Boost C++ Libraries. Дата обращения: 12 октября 2013. 14 октября 2013 года.
- Tuple — класс . (MSDN). Дата обращения: 7 марта 2011. 24 сентября 2010 года.
Литература
- Судоплатов С. В., Овчинникова Е. В. Элементы дискретной математики: Учебник. — М.: ИНФРА-М, Новосибирск: Издательство НГТУ, 2002. — 280 с. — (Серия «Высшее образование»). (ИНФРА-М), (НГТУ)
- Белоусов А. И., Ткачев С. Б. Дискретная математика: Учебник для вузов / Под редакцией В. С. Зарубина, А. П. Крищенко. — 3-е издание, стереотипное. — М.: Издательство МГТУ им. Н. Э. Баумана, 2004. — 744 с. — .
- Кормен, Томас Х., Лейзерсон, Чарльз И., Ривест, Рональд Л., Штайн, Клиффорд. Алгоритмы: построение и анализ = Introduction to Algorithms. — 2-е издание. — М.: Издательский дом «Вильямс», 2005. — 1296 с. — .
- Н. Я. Виленкин. Популярная комбинаторика. — М.: Наука, 1975.
- Англо-русский словарь математических терминов / Под ред. П. С. Александрова. — 2-е, исправл. и дополн. изд.. — М.: Мир, 1994. — 416 с. — .
- Karel Hrbacek, Thomas Jech. Introduction to Set Theory. — Third edition, revised and expanded. — 1999. — .
Ссылки
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер