《大话数据结构》

来源:互联网 发布:python简明中文教程 编辑:程序博客网 时间:2024/05/21 17:49
线性表




线性表,从某种就能感觉到,是具有像线一样的性质的表。在广场上,有很多人分散在各处,当中有些是小朋友,可也有很多大人,甚至还有不少宠物,这些小朋友的数据对整个广场人群来说,不能算是线性表的结果。但像刚才提到的那样,一个班级的小朋友,一个跟着一个排着队,有一个打头,有一个收尾,当中的小朋友,每一个都知道他前面一个是谁,他后面一个是谁,这样犹如一根线把他们串联起来了,就可以称之为线性表。
线性表(List):零个或多个数据元素的有限序列。
这里需要强调几个关键的地方:首先它是一个序列,也就是说元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继。其他每个元素都有且只有一个前驱和后继。如果一个小朋友去拉两个小朋友后面的衣服,那就不可以排成一队了;同样,如果一个小朋友后面的衣服被两个甚至多个小朋友拉扯这其实是在打架,而不是有序排队。然后,线性表强调是有限的,小朋友班级人数是有限的,元素个数当然也是有限的。事实上,在计算机中处理的对象都是有限的,那种无限的数列,只存在于数学的概念中。如果用数学语言来进行定义,可如下:若将线性表几位(a1,···,a i-1,a i ,a i+1,···,a n)则表中 a i-1 领先于 a i,a i 领先于 a i+1,称 a i-1 是 a i的直接前驱元素,a i+1 是 a i 的直接后继元素。当i = 1,2,···, n - 1时, a i 有且仅有一个直接后继,当 i = 2,3,···, n 时, a i 有且仅有一个直接前驱。所以线性表元素的个数n(n >= 0)定义为线性表的长度,当n = 0时,称为空表。在非空表中的每个数据元素都有一个确定的位置,如 a1 是第一个数据元
素,a n是最后一个数据元素,a i是第 i 个数据元素,称 i 为数据元素 a i 在线性表中的位序。




 

0 0