线性串列的链式储存 - DAY 5

前言


资料结构由逻辑和储存结构组成,了解他们不难,难的是你想解决的问题,问题牵涉到的的现实事物,可以转成怎样的逻辑和储存结构,并从中找到解决问题的线索。

而读到资工所的资料结构,除了资料结构本身更多涉及到程序语言、时间复杂度和数学的带入应用,整个难度层级就硬生生地往上提了好几阶。(真可怕~)

定义


用一组任意的储存单元储存线性串列的资料元素,这组储存单元可以是连续的,也可以是不连续的

https://ithelp.ithome.com.tw/upload/images/20210919/201077541hNpbhcuRg.jpg

优缺


优点:

  • 无须先定出储存空间
  • 可以快速删除和新增节点

缺点:

  • 搜寻需要从头开始查找
  • 节点移失,就会断链

时间复杂度


  • 搜寻: O(n)
  • 删除和新增: O(1)

储存内容特性


  • 现实事物有时间性但无连续性
  • 需要知道下个目标

实际使用


一、道路标牌:(0, 100K)->(100K, 200K)->(200K, 300K)->(300K, null)
二、聊天纪录:(Id: 0 , text: '回覆A', replyId: 1)->(Id: 1 , text: '回覆B', replyId: 2)->(Id: 2 , text: '回覆C', replyId: null)


<<:  反射光

>>:  【Day 04】C 的一些基本语法

【Day13】Latch 的生成条件以及如何避免(下)

Latch 的生成条件 上一篇讲解了什麽是 latch,其又与 flip-flop 差在哪,也解释了...

Day28 我还是视觉动物

Integration with pivot table and chart 承续昨天所列的第一点...

Day17:今天来聊一下如何使用macof产生MAC Flooding

MAC Flooding是一种用於危及连接网段或网络设备的网路Switch安全技术。 攻击者使用MA...

[Day30] GCP云端部属说明(前後端)

How - 部属MongoDB 登入以下网址 https://www.mongodb.com/clo...

Day 02 环境建置

安装Python 既然是用 Python 编写的框架,那理所当然的应该先建立 Python 的环境对...