好久未更新,感谢各位粉丝的不离不弃,虽然小编已转型做产品和管理,但是始终保持一份对前端的技术热情,总觉得应该写点什么分享给大家,同时也督促自己对前端的学习。虽然前端日新月异,但是万变不离其宗,基础理论和知识我们要扎实,这样才能更快速学习和掌握新的框架和知识。接下来的日子里,小编将会给大家分享一些比较基础的前端内容,希望大家喜欢,文末有彩蛋,一定要看完哦~

今天我要给大家分享的什么是数据结构,怎么通过JavaScript去理解这个概念,在专业程序员的成长过程中,数据结构的学习至关重要,今天的内容很轻松,就是和大家一起探讨下什么是数据结构。

JavaScript 数据结构:什么是数据结构?_java

什么是数据结构?

我一直认为术语“数据结构”让人很困惑。 它到底是什么? 它是数据的结构?这是一个让很多人模糊的概念。

首先我们来看看百度百科的解释:

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

是不是很教条,读完了就是有个大概的理解,但是还是似懂非懂,没有深刻的认识。首先从“数据结构”这个词来分析,我们来加上几个字,数据 (的事),结构 (组织)。这稍微的改动,是否很容易理解了。换句话来说,不再关注事物,而是关注组织事物。

假想讨论的事物是一堆书本, 怎么摆放更合适?其实摆放的过程就是一个组织的过程。 

JavaScript 数据结构:什么是数据结构?_java_02

不同类型的数据结构

假如说我们有20本书, 我们会怎样摆放它们?

如果我们需要参考一本书,想要快速找到它,我们可以按书名第一个字拼音首字母摆放,并贴上对应书签;每次我们需要一本书时,我们就可以很快的找到它,因为知道书本是以字母表的顺序摆放的。

如果我们想以特定的顺序读所有书,可能从第一本我们插入书集中的到最后一本,然后我们想以这种顺序放置书;并且,我们想加一个必须以这种顺序的限制。

如果条件限制,我们要把书放在不同的房间里,我们可能想要以一种能快速找到的方式去摆放它们。 那么我们应该如何摆放?创建一个两列的列表:第一列列出书的标题;第二列列出对应的位置。

到这里,大家应该比较清楚了吧,摆放书本可以用很多种方式;也就是说,有很多种不同的数据结构。 用在web开发中的数据结构,就像我们摆放书本的例子,是由我们的需求决定的。

JavaScript 数据结构:什么是数据结构?_java

接下来...

小编会告诉大家数据结构不是生来就是晦涩和神秘的。 相反,他们通常使生活变得简单。接下来,小编将会和大家一起探索几种最常用也是最重要的数据结构:

  • 栈和队列

  • 单向链接列表和双重链接列表

  • 树 (深度优先搜索和广度优先搜索)

JavaScript 数据结构:什么是数据结构?_java_04

在接下来的介绍过程中,小编希望大家不仅学习怎样实现这些日常的数据结构,而且可以看到它是怎样被运用到实践的。 当你意识到这些数据结构在组织数据中发挥了非常具体和有用的作用时,你会对它们更加钟爱的。 你也会开始别出心裁地思考,怎样去组织你的数据。