1、什么是数据?
但凡能够被计算机存储、识别和计算的东西都叫数据(二进制)
硬盘中:mp3、jpg、doc、avi、exe、txt
内存中:变量、常量、数组、对象、字节码
2、什么是结构?
数据与数据之间的一种或多种特定的关系
3、什么是数据结构?
数据结构=数据+数据之间的关系
4、数据结构主要解决什么样的问题?
这个世界上,零散的数据总比连续的数据多
如何将零散的数据“整齐划一”方便后续的操作呢?
《离散数学》、《概率论》和《统计学》提供理论基础
数据结构则是具体的实施方案(主要依赖《离散数学》)
5、为什么要这么做?
将看似分散的数据以某种方式联系起来可以从中找到一些规律
——机器学习
这个世界是有一定规律的,如何找到规律,全靠数据
——大数据
6、数据结构的逻辑结构
是指数据元素之间的相互关系,是我们想象出来的,并没有实质性的将其存储在计算机中
(1)集合结构:集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系
(2)线性结构:线性结构中的数据元素之间是一对一的关系
(3)树形结构:树形结构中的数据元素之间存在一种一对多的层次关系
(4)图形结构:图形结构的数据元素是多对多的关系
7、数据结构的物理结构
是指数据的逻辑结构在计算机中的存储形式
(1)顺序存储结构:开辟一组连续的空间存储数据
通常用数组来实现,数组中空间本身是连续的,保证了数据之间的关系
(2)链式存储结构:开辟一组随机的空间存储数据
通常用节点来实现,节点不仅要存储数据,还要存储下一个节点的位置以保证数据之间的关系
8、计算机中有哪些数据结构的应用?
手机通讯录
计算机文件系统
函数栈
游戏地图
……
因此可以得出一个很重要的结论:
我们需要根据应用场景的不同灵活选择最合适的数据结构