线性表的取名是为了和谁区分,是以什么特性特征来区分的,线性表和谁以什么特征作为区分标准
线性就是和非线性作区分。
更多的是数学概念
非线性(non-linear),即 变量之间的数学关系,不是直线而是曲线、曲面、或不确定的属性,叫非线性。非线性是自然界复杂性的典型性质之一;与线性相比,非线性更接近客观事物性质本身,是量化研究认识复杂知识的重要方法之一;凡是能用非线性描述的关系,通称非线性关系。
狭义的非线性是指不按比例、不成直线的数量关系,无法用线性形式表现的数量关系,如曲线、曲面等。而广义上看,是自变量以特殊的形式变化而产生的不同于传统的映射关系,如迭代关系的函数,上一次演算的映射为下一次演算的自变量,显然这是无法用通常的线性函数描绘和形容的。很显然,自然界事物的变化规律不是像简单的函数图像,他们当中存在着并非一一对应的关系。如果说线性关系是互不相干的独立关系,那么非线性则是体现相互作用的关系,正是这种相互作用,使得整体不再是简单地全部等于部分之和,而可能出现不同于"线性叠加"的增益或亏损。
线性表是最基本、最简单、也是最常用的一种数据结构。
线性表是由一个或多个数据元素组成的有限序列
线性表根据存储方式分为:
1、顺序存储(数组描述):元素的地址是连续的
2、链式存储(链表描述):节点地址不连续,通过指针连起来
线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储),但是把最后一个数据元素的尾指针指向了首位结点)。
我们说"线性"和"非线性",只在逻辑层次上讨论,而不考虑存储层次,所以双向链表和循环链表依旧是线性表。
在数据结构逻辑层次上细分,线性表可分为一般线性表和受限线性表。一般线性表也就是我们通常所说的"线性表",可以自由的删除或添加结点。受限线性表主要包括栈和队列,受限表示对结点的操作受限制。
线性表的逻辑结构简单,便于实现和操作。因此,线性表这种数据结构在实际应用中是广泛采用的一种数据结构。
线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。数据元素是一个抽象的符号,其具体含义在不同的情况下一般不同。
在稍复杂的线性表中,一个数据元素可由多个数据项(item)组成,此种情况下常把数据元素称为记录(record),含有大量记录的线性表又称文件(file)。
线性表中的个数n定义为线性表的长度,n=0时称为空表。在非空表中每个数据元素都有一个确定的位置,如用ai表示数据元素,则i称为数据元素ai在线性表中的位序。
线性表的相邻元素之间存在着序偶关系。如用(a1,…,ai-1,ai,ai+1,…,an)表示一个顺序表,则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,…,n-1时,ai有且仅有一个直接后继,当i=2,3,…,n时,ai有且仅有一个直接前驱 。