数据结构简介及入门基础

一切学习的本质都是从生活中的实际问题出发。

当我们遇到一个问题,先需要解决两个问题:

  1. 如何将数据储存在计算机中。
  2. 用什么方法策略解决问题。

前者所指便是数据结构,后者便是算法。两者相互依存,单独存在没有意义。

为什么要学习数据结构?

(1)学习数据有效存储的方法。

通过学习数据结构,更加准确和深刻地理解不同数据结构之间的共性和联系,学会选择和改进数据结构,高效地设计并实现各种算法,这才是数据结构的精髓。

(2)处理具有复杂关系的数据

并不是所有问题都能简单的调用库函数解决。我们需要运用所学的数据结构知识,高效处理具有复杂关系的数据。

什么是数据结构?

数据是计算机中的信息总和,而结构是指数据之间的关系,数据结构就是将数据及其之间的关系有效地存储在计算机中。

数据在计算机中的存储及获取

数据在计算机中的主要存储在两个位置:

  1. 内存
  2. 外存

内存和外存相比的不同点:

内存:

  • 存储速度快
  • 容量小
  • 断电后不保留
  • CPU可以直接访问

外存:

  • 存储速度慢
  • 容量大
  • 断电后保留
  • CPU要通过内存才能访问外存。

内存的基本单位是存储单元,一般一个存储单元对应一个字节。外存也可以将每一个扇区抽象成一个存储单元。这些存储单元一个个的连在一起,每个都有属于自己的编号,也就是地址。数据的存放便是放入这些存储单元中。

而当我们存放数据时,便涉及到两种存放策略:

  1. 顺序存放
  2. 间接存放

内存使用顺序存放数据

  • 内存的空间利用率高
  • 碎片(就是未使用到,浪费的空间)少
  • 删除旧有的数据很容易

解释:因为是顺序存放,当其中有内容被添加或删除,被影响的存储单元都要相应的后移或前移来保证地址相连。而内存存储速度快,调整存储单元也不会需要太大的时间开销。而正因为地址是一个连着一个,也保证了不会有太多的碎片。

外存使用间接存放:

  • 内存存储速度慢,如果当有内容被添加或删除,需要像内存那样调整的话,时间开销太大。
  • 如果不能像内存那样调整存储单元地址,又采用顺序存放,那么当有内容被删除时,原内容空出的空间不一定能够放入新内容。而若采用间接存放,原内容空出的空间加上地址之间空余的空间更有可能放入新的内容,可以尽可能减少碎片。

接下来我们便需要找到我们所需要的数据进行操作。

  • 对于顺序存放数据:

              通过头地址、索引、下标寻找便可以很方便的寻找到元素。

  • 对于间接存放的数据:

               那么我们就要在一个存储单元上面标记下一个存储单元的位置,这个标记就是下一个存储单元的地址(指针)。

               我们可以通过这个指向关系,找到我们所需要的数据。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值