1.1 什么是数据结构
说到数据结构,我觉得可以拆分成两个词,数据和结构。
先来打个比方。
同样是水,
有的被放进了游泳池,成为了游泳嬉戏的场所;
有的被放进了杯子,供我们喝水;
我们不可能喝水,不用杯子,用游泳池。
说到底,就四个字:因地制宜???(好像比较恰当,欢迎大家集思广益)
数据就好比这里的水,是我们想要使用的东西,对我们有价值的东西;
结构就好比游泳池、杯子,是帮助我们更好的使用数据,能更好更快的完成一些特定操作。
所以,在我看来,其实我们学的是结构,如何去组织数据,让它能够完成在特定场景下的一些任务。
1.2 数据与内存读取
就像上面所说的,我们主要学习的是结构,所以结构会在后面慢慢讲解。
这里主要介绍下,数据及计算机内存中的读取操作。
还是打个比方,如果把内存比作一个公寓,公寓中的每个房间代表可以存储一定数量的数据。
就好像单人房、双人房那样,每个人是一个数据。
你现在就是超人,如果让你到指定房间,对其中的住户进行盘查。
你可以怎么去排查呢?比如需要排查的是1100房间。
- 你可以进了公寓,慢悠悠的从1001,经过1002,1003...,然后走到1100房间
- 你也可以暴力点,从1001,然后一口气跳到到1100房间。
计算机也有相应的操作,我们继续说。
在计算机中,每个数据存放在一块内存区域中,计算机会给每个内存区域分配一个地址。
我们将内存区域与上述比喻进行一个对照。(图片修改自极客专栏:《数据结构与算法之美》)
1.3 说下数据操作
想想我们平时需要对数据进行什么样的操作,增删改查,四个字一定不陌生吧。
- 增,添加数据
- 删,删除数据
- 改,修改数据
- 查,查找数据
所以说,我们如何学习数据结构呢?
- 知道数据的结构
- 对相应的数据结构完成上面四种操作
- 一点题目,稍微练练手
就可以收功了。
Github地址 欢迎 star 收藏
寻找有趣或更有效率的事、工具和教程