线性表--数组数据结构python实现

维基定义

在计算机科学中,数组数据结构或简称数组是由元素集合(值或变量)组成的数据结构,每个元素由至少一个数组索引标识。存储阵列使得可以通过数学公式从其索引元组计算每个元素的位置。[1] [2] [3]最简单的数据结构类型是线性数组,也称为一维数组。

例如,具有索引0到9的10个32位整数变量的数组可以在存储器地址2000,2004,2008,... 2036处存储为10个字,使得具有索引i的元素具有地址2000。 + 4× i。[4]

数组的第一个元素的内存地址称为第一个地址,基础地址或基址。

因为矩阵的数学概念可以表示为二维网格,所以二维数组有时也称为矩阵。在某些情况下,术语“向量”在计算中用于指代数组,尽管元组而不是向量在数学上更正确等效。表通常以数组的形式实现,尤其是查找表 ; 单词有时用作数组的同义词。

数组是最古老和最重要的数据结构之一,几乎每个程序都使用它。它们还用于实现许多其他数据结构,例如列表和字符串。它们有效地利用了计算机的寻址逻辑。在大多数现代计算机和许多外部存储设备中,存储器是一维的单词阵列,其索引是它们的地址。处理器,尤其是矢量处理器,通常针对阵列操作进行优化。

数组很有用,因为元素索引可以在运行时计算。除此之外,此功能允许单个迭代语句处理任意多个数组元素。因此,要求数组数据结构的元素具有相同的大小,并且应使用相同的数据表示。有效索引元组的集合和元素的地址(以及元素寻址公式)通常是[3][5],但并非总是如此,[2]在数组使用时是固定的。

术语数组通常用于表示数组数据类型,这是一种由大多数高级编程语言提供的数据类型,它由一组值或变量组成,这些值或变量可以由在运行时计算的一个或多个索引选择。数组类型通常由数组结构实现; 但是,在某些语言中,它们可以通过哈希表,链表,搜索树或其他数据结构来实现。

该术语也被用于表示关联数组或“抽象数组” ,特别是在算法描述中,用于捕获数组基本属性的理论计算机科学模型(抽象数据类型或ADT)。

内容

  • 历史
  • 应用
  • 元素标识符和寻址公式
    • 一维数组
    • 多维数组
    • 涂料矢量
    • 紧凑的布局
    • 调整
    • 非线性公式
  • 效率
    • 与其他数据结构比较
  • 尺寸
  • 也可以看看
  • 参考

历史

第一台数字计算机使用机器语言编程来设置和访问数据表,矢量和矩阵计算的阵列结构,以及用于许多其他目的。John von Neumann于1945年在构建第一台存储程序计算机时编写了第一个阵列排序程序(merge sort)。[6] p。159 数组索引最初是通过自修改代码完成的,后来使用索引寄存器和间接寻址。20世纪60年代设计的一些大型机,如Burrough

你可能感兴趣的:(基础知识)