多元組的名稱
長度為 n 的多元組通常稱為 n元組。二元組就是一個有序對。 n 可以是任意正整數,例如,四元數就可以被表示成一個四元組。
形式定義
多元組區別於集合的主要性質在於:(1)它可以多次含有某個對象;(2)對象按照一定順序出現。可以看到(1)使它區別於偏序集,(2)使它區別於多樣集。下列規則通常用來形式化兩個 n 元組的一致性:
(a, a, ...,a) = (b, b, ..., b) 若且唯若 a = b, a = b 等等。另一種形式化多元組的方式是將它們映射到集合論中更基本的結構諸如有序對。例如,一個 n 元組( n > 2)能夠定義成其第一項和由其他項組成的 ( n−1) 元組組成的有序對:
(a, a, ..., a) = (a, (a, ..., a))採用通常的有序對的集合論定義,並用空集來表示 0 元組,就可以得到下列歸納定義:
0 元組用 ∅ 表示;若 x 是 n 元組(a, a, ..., a),則(n + 1) 元組(a,a, a, ..., a)等同於{{a}, {a, x}} 。(n≥0)採用這個定義,(1,2,2) 為
(1,(2,(2))) = (1,(2, {{2}, {2, ∅}} )) = (1, {{2}, {2, {{2}, {2, ∅}}}} ) = {{1}, {1, {{2}, {2, {{2}, {2, ∅}}}}}}這裡與LISP最初使用有序對歸納地產生其所有的 n 元組和表結構的方法有非常重要的類似:
特殊符號 NIL 表示空表;若 X 是一個表,A 是任意值,則對 (A, X) 表示一個表,其頭(第一個元素)為 A,其尾(表中除了第一個元素的其他元素)為 X。
套用
在計算機科學(特別是在程式設計語言和資料庫的關係模型)中, 多元組通常被定義為從欄位名到特定值的有限函式。其目的和在數學中一樣,指出特定的實體或對象包含特定的部分且(或)具有特定的性質。但是,這裡的部分通過唯一的欄位名來識別,而不是通過位置,從而得到更多用戶友好的表示。
多元組的一個例子:
( 選手 : "Harry", 成績 : 25 )就是一個映射欄位名“選手”到字元串 "Harry",映射欄位名“成績”到數 25 的函式。注意,這裡各個部分的順序互不相關,所以相同的多元組也可以寫成:
( 成績 : 25, 選手 : "Harry" )在關係模型中,這樣的多元組是表示一個簡單命題的典型。這個例子的意思就是有一個選手的名字叫 "Harry",他的成績是 25。
在程式設計語言中,多元組被用來構建數據結構。例如,下列多元組可以表示雙向鍊表中的一個節點:
( 值 : 16, 前驅節點 : 1174782, 後繼節點 : 1174791 )