线性表的基本概念
线性表是具有相同数据元素的一个*有限序列*,线性表可以为空,线性表可以是有序的,也可以是无序的
线性表的逻辑特性
表头元素没有前驱和表尾元素没有后驱,其他元素只有一个直接前驱和直接后驱。 什么是前驱? 什么是后驱?
线性表的存储结构
顺序存储结构:顺序表 将线性表中的所有元素按照逻辑顺序,将数据存储到指定的一块存储空间中,按照顺序依次排开,特点:支持随机访问 只需知道第一个元素的位置,即可推算得到其他元素的位置,即顺序表占用连续的存储空间 顺序表中若需在第i位和第i+1位之间插入元素,则需要将i+1位的元素,向后移位,地址变为i+2,最后将待插入的元素插入到i+1的地址上即可 链式存储结构:链表 每个元素中不仅包含自己元素的地址信息,还包含下一个元素的地址信息,特点不支持随机访问 若需访问最后一个元素,得从第一个元素开始逐个访问, 单链表插入元素时无需移动元素位置,如在i和i+1之间插入一个元素,只需打断这两个元素之间的连接,然后将需要插入的m元素的地址存储在i元素后面的地址中,最后将i+1元素的地址存储到m元素后面的地址中
链表的五种形式
单链表 只能访问当前节点和其后面的所有节点 带头节点的单链表看不懂
不带头节点的双链表
双链表,后续研究 双链接是在单链表的节点上增加了一个指针域,指向当前节点的前驱,可以从后向前快速查找元素 循环单链表,后续研究 将单链表中的最后一个指针域指向第一个节点 循环单链表的特点:从任一节点出发可以访问链表中的所有节点 循环双链表,后续研究
静态链表,后续研究
|