向量,集合和元组之间的差异

时间:2009-06-09 22:59:48

标签: language-agnostic vector tuples set

编程中的向量,集合和元组之间有什么区别?

7 个答案:

答案 0 :(得分:70)

  • Vector:对相同类型的对象进行有序集合。
  • 设置:无序的对象集合,可能是相同类型或可能根据集合类型和语言而有所不同。任何给定的对象只能出现一次。
  • 元组:订购不同类型的对象。

答案 1 :(得分:20)

vector是一个有序的项目序列,允许重复。

set是无序的项目集合,不允许重复。

tuple是指定长度的有序项目序列。

答案 2 :(得分:5)

元组是异构的对象集合,应该被视为一个单元:例如,(“John”,“Smith”,30)是(String,String,Integer)元组。

列表(在C ++中:也是向量)是一个同类的对象集合 - 也就是说,每个对象都可以统一处理。它们实际上是否是同一类型取决于语言,但关键是它们可以以相同的方式处理。

集合是一个无序的唯一同源集合 - 你知道它包含哪些对象,它们是什么类型,但不是以什么顺序,它只包含每个对象中的一个。

答案 3 :(得分:3)

在数学上

  

元组具有区别于集合的属性。

     
      
  • 元组可能包含同一元素的多个实例,因此元组(1,2,2,3)!=(1,2,3)但设置{1,2,2,3} = {1,2 ,3}。
  •   
  • 元组元素是有序的:元组(1,2,3)!=(3,2,1),但是设置{1,2,3} = {3,2,1}。
  •   
  • 元组具有有限数量的元素,而集合或多集可能具有无限数量的元素。
  •   

Vector是由多个元组表示的不同类型。

干杯: - )

答案 4 :(得分:2)

向量有一个排序

元组是有序的,可以有重复元素。

集合是无序的,重复元素不会更改集合。

例如:{a,b},{b,a}和{b,b,a}都是相同的集合,而(a,b),(b,a)和(b,b, a)都是不同的元组。

答案 5 :(得分:0)

向量有一个排序,集合没有(并且不能有重复),元组接近向量,但在实践中通常更像结构。

答案 6 :(得分:0)

区别是元组不应被视为集合,而向量和集合则应被视为集合。

  • 元组旨在表示化合物值,就像3d空间中具有(x,y,z)坐标的位置一样,这没有任何意义看到它 一个集合,因为yes是3个数字的列表,但3个数字 具有不同的含义,并且组合起来具有特定的含义。

    tuples 视为具有无名位置属性的结构 可以有不同的类型。因此,这并不意味着要存储很多 值,这就是为什么所有这些实现都是 针对少数几个进行了优化

    tuple 的示例是用于描述a的列的类型 SQL数据库中的单行,实际上就是谁被调用的行 关系代数。

  • Vector (不好意思的名字)是一个有序集合, 旨在存储很多价值,通常实现为随着 需要保持对O(1)的访问权限

    SQL DB中没有主键的表将是元组的向量。

  • Set 是唯一元素的集合,可以排序,但不一定要排序。

    SQL DB中具有主键的表将是元组集。