算法04-链表

作者: Simon0903 | 来源:发表于2019-05-10 21:36 被阅读0次

    链表:

    为什么需要链表

    顺序结构需要预先知道数据大小来申请连续的存储空间,而进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活

    链表结构可以充分利用计算机空间,实现灵活的内存动态管理。

    链表的定义

    链表(linked list)是一种常见的基础数据结构,是一种线性表,但是不像是顺序表一样连续存储数据,而是在每个节点(数据存储单元)里面存放下一个节点的位置信息(即地址)

    链表与顺序表的区别:

    链表:缺点是失去了顺序表随机读取的优点,且增加了节点的指针域,对于内存的空间开销比较大,优点是对于存储空间会比较灵活,可以是离散存储的

    链表的结构图形解析

    表元素elem用来存放具体的数据

    链接域next用来存放一个节点的位置(Python的标识)

    变量P指向链表的头节点(首节点)位置,从p出发能找到表中的任意节点

    节点实现

    单链表实现

    链表的方法实现

    is_empty()  链表是否为空

    length()  链表长度

    travel()遍历整个链表

    add(item)增加头部添加元素

    append(item)尾部添加元素

    insert(pos,item)指定位置插入元素

    remove(item)删除元素

    逻辑图如下

    search(item)查询元素是否存在

    相关文章

      网友评论

        本文标题:算法04-链表

        本文链接:https://www.haomeiwen.com/subject/mnvunqtx.html