多元组
多元组,也称为顺序组(),泛指有限个元素所组成的序列。在数学及计算机科学分别有其特殊的意义。
数学上,n元组或多元组是对象个数有限的序列。元组由三部分组成:边界符、分隔符和元素。通常采用的边界符是小括号“formula_1”,分隔符是逗号。
多元组被数学家用来描述包含特定部件的数学对象。例如,有向图被定义成一个二元组("V", "E"),这里"V"是节点的集合,"E"是"V" × "V"的子集,表示边。
在类型论中,多元组与重类别相关。
多元组的名称.
长度为"n"的多元组通常称为"n"元组。二元组就是一个有序对。"n"可以是任意正整数,例如,四元数就可以被表示成一个四元组。
形式定义.
多元组区别于集合的主要性质在于:(1)它可以多次含有某个对象;(2)对象按照一定顺序出现。可以看到(1)使它区别于全序集,(2)使它区别于多重集。两个"n"元组的相等性通常以下列规则来表明:
("a"1, "a"2, ...,"an") = ("b"1, "b"2, ..., "bn") 当且仅当 "a"1 = "b"1, "a"2 = "b"2, ..., "an" = "bn"。
另一种形式化多元组的方式是将它们作为在集合论中更基本的构造,一个方法是利用有序对。例如,一个"n"元组("n" > 1)能够定义成其第一项和由其他项组成的 ("n"−1)元组组成的有序对:
("a"1, "a"2, ..., "an") = ("a"1, ("a"2, ..., "an"))
采用有序对的一般集合论定义,并用空集来表示0元组,就可以得到下列归纳定义:
采用这个定义,(1,2,2)为
(1,(2, (2))) = (1,(2, )) = (1, ) =
这里与LISP最初使用有序对归纳地产生其所有的"n"元组和表结构的方法有非常重要的类似:
在计算机科学中的应用.
在计算机科学(特别是在程序设计语言和数据库的关系模型),多元组通常被定义为从字段名到特定值的有限函数(在此情况又可译为值组)。其目的和在数学中一样,就是指出特定的实体,或那些包含特定部件且(或)具有特定性质的对象。但是,这里的部件透过唯一的字段名来识别,而不是透过位置,这样通常会是更用户友好的记法。
多元组的例子:
(选手:"Harry", 分数:25)
就是一个映射字段名“选手”到字符串"Harry",映射字段名“分数”到数25的函数。注意,这里各个部件的顺序是不相关的,所以这个多元组也可以写成:
(分数:25, 选手:"Harry")
在关系模型,一般以这样的多元组来表示一个简单命题,比如这个多元组的意思就是有一个选手的名字叫"Harry",他的分数是25。
在程序设计语言中,多元组被用来构建数据结构。例如,下列多元组可以表示双向链表中的一个节点:
(值:16, 前驱节点:1174782, 后继节点:1174791)
维基百科图片快照大小不一,加载大概需要3-30秒!