複製鏈接
請複製以下鏈接發送給好友

多元組

鎖定
數學上,n 元組多元組是對象個數有限序列。多元組被數學家們用來描述確定成分的數學對象。例如,有向圖被定義成一個二元組 (V, E),這裏 V 是節點的集合,EV × V 的子集,表示邊。
類型論中,多元組與重類別相關。
中文名
多元組
外文名
n元組
所屬學科
數學

多元組多元組的名稱

長度為 n 的多元組通常稱為 n元組。二元組就是一個有序對n 可以是任意正整數,例如,四元數就可以被表示成一個四元組。

多元組形式定義

多元組區別於集合的主要性質在於:(1)它可以多次含有某個對象;(2)對象按照一定順序出現。可以看到(1)使它區別於偏序集,(2)使它區別於多樣集。下列規則通常用來形式化兩個 n 元組的一致性:
(a1, a2, ...,an) = (b1, b2, ..., bn) 當且僅當 a1 = b1, a2 = b2 等等。另一種形式化多元組的方式是將它們映射到集合論中更基本的結構諸如有序對。例如,一個 n 元組(n > 2)能夠定義成其第一項和由其他項組成的 (n−1) 元組組成的有序對:
(a1, a2, ..., an) = (a1, (a2, ..., an))採用通常的有序對的集合論定義,並用空集來表示 0 元組,就可以得到下列歸納定義:
0 元組用 ∅ 表示;若 x 是 n 元組(a1, a2, ..., an),則(n + 1) 元組(a,a1, a2, ..., an)等同於{{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 )