数据结构—线性表

1、线性表定义:线性表是n个元素的有限序列。
线性表特点:存在唯一的表头和表尾。
除了表头其它元素都有唯一的直接前驱,除了表尾每一个元素都有唯一的直接后继

2、顺序存储:是用一组地址连续的存储单元依次存储线性表中的数据元素
优点:可以随机的存取表中的元素
缺点:插入和删除操作需要移动大量的元素
在线性表的顺序存储结构中,第i个元素ai的存储位置为 LOC(ai)= LOC(a1)+(i-1)*L

3、链式存储:指用节点来存储数据元素,节点的空间可以是连续的,也可以是不连续的,因此存储数据元素的同时必须存储元素之间的逻辑关系。
优点:插入和删除操作不需要移动元素,操作方便。
缺点:增加了存储空间开销,不能随机访问任一结点。

4、其他几种链表结构:双向链表、循环链表、静态链表。

5、栈是只能通过一端来实现数据存储和检索的一种线性表。栈进行插入和删除操作的一端称为栈顶,另一端称为栈底,栈的修改是按先进后出的原则进行的。又称为先进后出线性表。
栈的存储结构有顺序存储和链式存储。

6、队列是一种先进先出的线性表,他只允许在表的一端插入元素,而在表的另一端删除元素。
在队列中允许插入元素的一端称为队尾,允许删除元素的一端,称为队头。
队列有顺序存储和链式存储。
队列判空条件:头指针和尾指针的值相同,且均指向头节点。

7、串是仅由字符构成的有限序列,是取值范围受限的线性表。
空串:长度为零的串,空串不包括任何字符。
空格串:由一个或多个空格组成的串。
字串:由串中任意长度的连续字符构成的序列。含有字串的串称为主串。字串在主串的中的位置指子串首次出现时,该子串的第一个字符在主串中的位置。空串是任意串的的子串。

你可能感兴趣的:(数据结构—线性表)