在大学里,数据结构是计算机专业必学的一门课程,很多人学完后(当然也包括我),不知道这本书里面到底讲了什么,感觉没啥实际用处。
但大家肯定会看到这么一句话,数据结构+算法=程序。
工作半年后,稍微有了深一点的理解,写下这篇博文,帮助大家理解一下。
定义
其实呢,数据结构,从字面上理解就是讲了存储数据的结构。也就是说数据一般用哪些结构存储比较好,每一种结构都有其优缺点。
数据结构:主要有三大结构:线性结构、树状结构、图状结构。
例子
其实呢,数据结构无处不在。
一、数据库
我们很多数据都是存储在数据库里的,比如SQL Server、MySql等,如果某个数据库很大,里面包含了很多很多的数据,那如何快速地查询到具体某个数据,这时,我们肯定会考虑到
1、如何存储,能够更容易查询 2、如何查,采用什么样的算法,查询的更快
这两个问题。这个时候,就体现到了数据结构的重要性了。
在数据库里,索引就是一种数据结构,主要是为了加快查询速度。
二、操作系统
我们使用的最多的就是Windows操作系统,我们打开LOL想玩把游戏,又想边玩边听音乐,这时,我们又打开了酷狗。这里就用到了数据结构中的栈,LOL是个进程,酷狗也是个进程,这两个进程存储在栈中。
打印100份文档,计算机先把这100份文档内容存到队列中,然后再依次打印。
以上这两个场景都用到了数据结构。
三、文件压缩
我们把很大的文件压缩一下,这时就用到了数据结构中树的知识,压缩具体采用了树里的哈夫曼树的知识,将文件缩小很多。
总结
数据结构虽然很重要,但作为一名程序员,说实在的,我们只需了解到熟悉的程度就差不多够了。