床头笔记之算法与数据结构线性表
线性表
线性表:零个或多个数据元素的有限序列。
线性表的抽象数据类型
顺序存储结构
线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。
链式存储结构
单链表
n 个结点( al 的存储映像) 链结成一个链表,即为线性表( a1 , a2,…, aD ) 的链式存储结构,因为此链表的每个结点中只包含一个指针域,所以叫做单链表
对于插入或删除数据越频繁的操作,单链表的效率优势就越是明显。
静态链表
用数组描述的链表叫做静态链表
循环链表
将单链表中终端结点的指针端自空指针改为指向头结点,就使整个单链表形成一个环,这种头尾:相接的单链表称为单循环链表,简称循环链表( circular linkedlist) 。
双向链表
双向链表 是在单链表的每个结点中,再设置一个指向其前驱结点的指针域。
栈与队列
栈是限定仅在表尾进行插入和删除操作的线性表。
队到是只允许在一端进行插入操作、而在另一端进行删除操作的线性表.
栈又称为后进先出( Last In Filrst Out) 的线性表
栈的插入操作,叫作进栈,也称压栈、入栈
栈的删除操作,叫作出栈,也有的叫作弹栈