LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭
线性表
W 2019-07-11

线性表(Linear List)由n (n>0) 个数据特征相同的元素(结点)组成的有限序列。

 

  • 线性表的逻辑结构特征,对于非空的线性表:
    1.有且仅有一个开始节点a1,没有直接前趋。
    2.有且仅有一个终结结点an,没有直接后继。
    3.其余的内部结点ai (2≤i≤n-1)都有且仅有一个直接前趋an-1和一个直接后继an+1。
    (ps:循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储),但是把最后一个数据元素的尾指针指向了首位结点)

  • 线性表的基本运算:构造、销毁、清空 、判空、求长、按位序取值、按值定位、按值查找、求前趋、求后继、插入、删除、修改。

  • 线性表是逻辑概念,主要由顺序表示(顺序表)或链式表示(链表)。在实际应用中,常以 栈、 队列、 字符串等特殊形式使用。


顺序表(Sepuential List): 用一组地址连续的存储单元一次存储线性表的数据元素。

链表 (Linked List) 用一组任意的存储单元来存放线性表的数据元素,链表中逻辑次序于物理次序不一定相同。为了能正确的表示节点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址信息(称为指针或链)。

  • 循环链表:在单链表中,将终端的指针域null改为指向开始结点。判断空链表的条件 head == head -> next ;

  • 双向链表: 双向链表由两条方向不同的链,即每个节点除next 域存放后继结点地址外,还增加一个指向其前趋的指针域 prior。如果将首尾连接起来即为双向循环链。


    (ps:双向循环链表的插入,须先链接新结点再断开原结点。)

                 q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;


    存储密度(Storage Density) 指数据本身所占用的存储量和整个节点结构所占存储量之比,即:存储密度=(结点数据本身的存储量)/(节点结构所占存储总量);

    • 顺序表存储密度=1;链表存储密度<1。






推荐文章
评论(0)
联系我们|招贤纳士|移动客户端|风格模板|官方博客|侵权投诉 Reporting Infringements|未成年人有害信息举报 0571-89852053|涉企举报专区
网易公司版权所有 ©1997-2024  浙公网安备 33010802010186号 浙ICP备16011220号-11 增值电信业务经营许可证:浙B2-20160599
网络文化经营许可证: 浙网文[2022]1208-054号 自营经营者信息 工业和信息化部备案管理系统网站 12318全国文化市场举报网站
网信算备330108093980202220015号 网信算备330108093980204230011号
分享到
转载我的主页