美文网首页数据结构和算法分析技术干货
算法图解二(数组和链表)

算法图解二(数组和链表)

作者: Ron_罗恩 | 来源:发表于2019-10-21 23:40 被阅读0次

    数组和链表相同点:都是存储地址的存储空间。

    数组

    图片来自《算法图解》

    定义:将所有代办事项在内存中都是相连的(紧靠在一起)。

    优点:查找速度快。(每个元素都对应一个下标)

    缺点:请求位置太多,浪费内存。 请求位置太少,就得转移内存。

    链表

    图片来自《算法图解》

    定义:链表的每个元素都存储了下一个元素的地址,从而使一系列随机的内存地址串在一起。

    优点:插入数据快。(每个元素都知道下一个元素的内存地址,只需要修改它前面那个元素执向的地址)

    缺点:查找速度慢。(不能跳跃式查找)

    删除

    链表是更好的选择。因为只需修改前一个元素的执向地址。而使用数组时,删除元素后,必须将后面的元素都向前移。

    图片来自《算法图解》

    如果还有朋友不太理解。我再用个形象的例子来说明下。

    我们去银行排队取钱,就是数组。一个挨着一个的站。

    我们去银行排号取钱,就是链表。我们只有知道上一位,才能知道下一次是谁。

    PS:

    如果你阅读之后,有所收获。请记得点赞哦。o(* ̄︶ ̄*)o。你的支持将是我写作的动力。

    相关文章

      网友评论

        本文标题:算法图解二(数组和链表)

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