【发布时间】:2020-07-02 13:33:35
【问题描述】:
我是计算机科学数据结构的新手。我试图找出列表的所有类型的实现。我从动态数组开始,我想知道在动态数组数据结构中是否可以有不同类型的原始数据类型。 我认为“动态”仅意味着您可以删除、插入和添加到您的数组而不关心它的大小。但是您是否也必须关心数组中的元素类型?
【问题讨论】:
标签: data-structures computer-science dynamic-arrays primitive-types
我是计算机科学数据结构的新手。我试图找出列表的所有类型的实现。我从动态数组开始,我想知道在动态数组数据结构中是否可以有不同类型的原始数据类型。 我认为“动态”仅意味着您可以删除、插入和添加到您的数组而不关心它的大小。但是您是否也必须关心数组中的元素类型?
【问题讨论】:
标签: data-structures computer-science dynamic-arrays primitive-types
您要搜索的词是 heterogeneous 对应的 homogenous。异构列表可以存储不同类型的元素,而同构列表仅限于一种类型的元素。
Python 是异构列表的一个很好的例子。这是通过存储对列表中不同对象的引用来实现的。因此,从技术角度来看,它们存储同质引用,但从用户角度来看,它们存储不同类型,例如整数、字符串和其他对象。
【讨论】:
术语dynamic data structure 仅指它在运行时的大小/结构,因为它可以在运行时改变。
例如,在 C++ 中,数组是一种静态数据结构,而向量或 ordered_set 可能是您所谓的动态数据结构。
通过在数据结构中具有多种数据类型,您所指的是动态类型语言。
如果语言是动态类型的,例如python,任何数据结构都将支持其中的多个元素。数据结构本身不需要是严格动态的。
【讨论】: