zoukankan      html  css  js  c++  java
  • 链表?

    1、什么是链表?
    链表是物理存储单元上非连续的、非顺序的存储结构,不同于栈和队列。链表由一系列节点组成,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。

    由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。
    ***mark---->>>【】
    【使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。】

    图略

    2.链表的结构

    2.1、节点
    节点包含了两部分,一部分是存储数据的元素区域,一部分是指向下一个节点的指针区域,上图中绿色部分表示数据区域,蓝色部分表示指针区域,它们共同构成一个节点。
    2.2、首尾节点
    链表中的第一个节点是首节点,最后一个节点是尾节点。

    2.3、有头链表和无头链表
    ***mark---->>>【】
    【无头链表是指第一个节点既有【数据域】,又有指针域,第一个节点既是首节点又是头节点。】

    【有头链表是指第一个节点只有【指针域】,而没有数据域。】通常有头链表的数据域可以存放当前的链表的一些信息。

    end.

  • 相关阅读:
    LOJ#3212. 「CSP-S 2019」划分
    矩阵乘法
    SSF信息社团4月训练题目整理
    AtCoder Regular Contest 116
    SSF信息社团3月训练题目整理
    Codeforces Round #704 (Div. 2)
    SSF信息社团寒假训练题目整理(三)
    关于 zzt 得 0.8 分这件事
    Luogu P7244 章节划分
    SSF信息社团寒假训练题目整理(二)
  • 原文地址:https://www.cnblogs.com/wn798/p/12066423.html
Copyright © 2011-2022 走看看