线性表 顺序表 链表 数组

线性表(英语:Linear List)是由n(n≥0)个数据元素(结点)a[0],a[1],a[2]…,a[n-1]组成的有限序列
php

顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。
算法

链表(Linked list)是一种常见的基础数据结构,是一种线性表,可是并不会按线性的顺序存储数据,而是在每个节点里存到下一个节点的指针(Pointer)。因为没必要须按顺序存储,链表在插入的时候能够达到O(1)的复杂度,比另外一种线性表顺序表快得多,可是查找一个节点或者访问特定编号的节点则须要O(n)的时间,而顺序表相应的时间复杂度分别是O(logn)和O(1)。数据库

在计算机科学中,数组数据结构(英语:array data structure),简称数组(英语:Array),是由相同类型的元素(element)的集合所组成的数据结构,分配一块连续的内存来存储。利用元素的索引(index)能够计算出该元素对应的存储地址。编程

最简单的数据结构类型是一维数组。例如,索引为0到9的32位整数数组,可做为在存储器地址2000,2004,2008,...2036中,存储10个变量,所以索引为i的元素即在存储器中的2000+4×i地址。数组第一个元素的存储器地址称为第一地址或基础地址。数组

二维数组,对应于数学上的矩阵概念,可表示为二维矩形格。例如:数据结构

{\displaystyle a={\begin{bmatrix}3&6&2\\0&1&-4\\2&-1&0\end{bmatrix}}}

C语言中表示为int a[3][3] = {{3, 6, 2}, {0, 1, -4}, {2, -1, 0}};编程语言

在某些状况下,“向量”一词也可能表明二维数组,虽然在数学意义上更确切地称呼为元组(tuple),而不是向量。但须要注意的是:计算机科学的某些领域,如Matlab,元组是指相似C语言struct类型,具备固定的每每是不一样类型的数据成员的数据结构。优化

数组一般用于实现数据库的表格,特别是查询表;表格有时也被看成是数组的同义词。指针

数组是最先期和最重要的数据结构之一,不少程序都会用到数组。它们也用于实现许多其余数据结构,譬如列表(list)和字符串(string)。它们有成效地开展了计算机的定址逻辑。在大多数现代计算机和许多外部存储设备中,存储器如同一维数组,索引就是其地址。编译器、处理单元(特别是向量处理器),常常会针对数组操做进行优化。code

由于在程序运行时能够计算元素的索引,数组是颇有用的。此外,也能以单一迭代语句就处理数组的许多元素。为此,数组数据结构的元素必须具备相同的大小,并且应该使用相同的数据类型表示。

数组一词一般用于表示数组数据类型,一种大多数高端编程语言都会内置的数据类型。数组类型一般由数组结构来实现;然而在某些语言中,它们能够由散列表链表搜索树或其它数据结构来实现。

在算法的描述中,数组一词特别着重意义为关系数组或“抽象的数组”,一种理论上的计算机科学模型(抽象数据类型或 ADT),专一于数组的基本性质上。


参考源:

https://zh.wikipedia.org/wiki/%E6%95%B0%E7%BB%84

相关文章
相关标签/搜索