《数据结构》学习笔记(一)
JS中的数组是数据结构中线性结构衍生而来,那我们知道,线性表(linear_list)是一种较简单的数据结构,除外还有树和图。一个线性表是n个数据元素的有限序列。一维数组是较简单的一种实现,而数据库中的数据表(data table)是较复杂的一种实现。
线性表中的一个数据元素(data element)一般的情况是有一个前驱和一个后继。注意是一般的情况。我们来看看线性这种结构的关系图(见下面的示例图):
空心圆表示数据元素,之间的线表示数据之间的关系(或称关联、联系)。
从线性的结构关系图中可以举个一维数组的实例,下面是JS代码:
var a = [a1,a2,a3,a4,a5];
上面这么写100%会报错,因为这是JS数组字面量的写法,但我们在这只是为了举例而已。
我们可以这么表示:
a1,...,ai-1,ai,ai+1,...,an
当i=1,2,...n-1时,有且仅有一个直接后继,当i=2,3,...,n时,有且仅有一个直接前驱。
线性表的机内表示示意图:
其中,1,2,...,i,...,n表示数据元素在线性表中的位序。