1. 数据结构概述

1.1 什么是数据结构

说到数据结构,我觉得可以拆分成两个词,数据和结构。

先来打个比方。

同样是水,

有的被放进了游泳池,成为了游泳嬉戏的场所;

有的被放进了杯子,供我们喝水;

我们不可能喝水,不用杯子,用游泳池。

说到底,就四个字:因地制宜???(好像比较恰当,欢迎大家集思广益)

数据就好比这里的水,是我们想要使用的东西,对我们有价值的东西;

结构就好比游泳池、杯子,是帮助我们更好的使用数据,能更好更快的完成一些特定操作。

所以,在我看来,其实我们学的是结构,如何去组织数据,让它能够完成在特定场景下的一些任务。

1.2 数据与内存读取

就像上面所说的,我们主要学习的是结构,所以结构会在后面慢慢讲解。

这里主要介绍下,数据及计算机内存中的读取操作。

还是打个比方,如果把内存比作一个公寓,公寓中的每个房间代表可以存储一定数量的数据。

就好像单人房、双人房那样,每个人是一个数据。

你现在就是超人,如果让你到指定房间,对其中的住户进行盘查。

你可以怎么去排查呢?比如需要排查的是1100房间。

  • 你可以进了公寓,慢悠悠的从1001,经过1002,1003…,然后走到1100房间
  • 你也可以暴力点,从1001,然后一口气跳到到1100房间。

计算机也有相应的操作,我们继续说。

在计算机中,每个数据存放在一块内存区域中,计算机会给每个内存区域分配一个地址。

我们将内存区域与上述比喻进行一个对照。(图片修改自极客专栏:《数据结构与算法之美》)

1.3 说下数据操作

想想我们平时需要对数据进行什么样的操作,增删改查,四个字一定不陌生吧。

  • 增,添加数据
  • 删,删除数据
  • 改,修改数据
  • 查,查找数据

所以说,我们如何学习数据结构呢?

  • 知道数据的结构
  • 对相应的数据结构完成上面四种操作
  • 一点题目,稍微练练手

就可以收功了。


Github地址 欢迎 star 收藏

寻找有趣或更有效率的事、工具和教程