zoukankan      html  css  js  c++  java
  • 一个简单的链表的实现

    最近在看算法导论, 觉得有些东西可以记录下-》这篇文章只是为了记录。

    1. 链表的特点

    链表是一个非常常用的数据结构,其有如下几个基本特点:

    1. 其内存空间是线性但是非连续的。

    2. 对于插入和删除有O(1)的时间复杂度

    3. 不能被索引化

    4. 查找慢

    2. 简单的链表实现

    2.1 链表的内存模型

    一个典型的双向链表包含一个关键字域,一个前驱,一个后继。

    其结构源码如下所示:

     

    2.2 链表的创建

    下面是一个创建n个节点的链表。

     

    2.3 节点的查找

     


    时间复杂度为O(n), 这里能看出链表的查找为什么慢了。

    2.4 链表的插入

     

    时间复杂度为O(1).

    2.5 链表的删除

     


    时间复杂度为O(1);

    2.6 测试代码

     

    3 . 小结

        这篇文章的主要目的就是为了把写的东西记录下来, 现在记录完毕了。

  • 相关阅读:
    LOJ2323. 「清华集训 2017」小 Y 和地铁 【搜索】【思维】【好】
    BZOJ2687 交与并/BZOJ2369 区间【决策单调性优化DP】【分治】
    BZOJ1563 NOI2009 诗人小G【决策单调性优化DP】
    LOJ6039. 「雅礼集训 2017 Day5」珠宝【决策单调性优化DP】【分治】【思维好题】
    BZOJ4709 Jsoi2011 柠檬【决策单调性+单调栈】
    BZOJ2216 Poi2011 Lightning Conductor 【决策单调性优化DP】
    BZOJ3675 Apio2014 序列分割 【斜率优化】
    BZOJ4566 Haoi2016 找相同字符【广义后缀自动机】
    51nod 1600 Simple KMP【后缀自动机+LCT】【思维好题】*
    linux usermod
  • 原文地址:https://www.cnblogs.com/sld666666/p/1779640.html
Copyright © 2011-2022 走看看