编程中的向量,集合和元组之间有什么区别?
答案 0 :(得分:70)
答案 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中具有主键的表将是元组集。