1.什么是数据结构
数据结构是计算机存储、组织数据的方式。对于特定的数据结构(比如数组),有些操作的效率很高(读取某个数组元素),有些操作的效率很低(删除某个数组元素)。程序员的目标是为当前的问题选择最优的数据结构。
数据结构,直白的理解,就是研究数据的存储方式。
例如,一直以来大家面对的数据存储,都是类似存储 1、2、{a,b,c} 这样的问题,解决方式无疑是用变量或者数组对数据进行存储,即:
int a=1; int b=2; char str[3]={‘a’,‘b’,‘c’};
但是,如果要存储这样一组数据:{张亮,张平,张华,张群,张晶,张磊},数据之间具有这样的关系:张亮是张平、张华和张群的父亲,同时张平还是张晶和张磊的父亲,数据之间的关系如图所示:
对于存储之间具有复杂关系的数据,如果还是用变量或数组来存储(比如用数组存储 {“张亮”,“张平”,“张华”,“张群”,“张晶”,“张磊”} ),数据存储是没有问题,但是无法体现数据之间的逻辑关系,后期根本无法使用,显然不明智。
2.为什么要学习数据结构
(1)数据结构是所有计算机专业学必学的一门课程
(2)数据结构研究的是数据如何在计算机中进行组织和存储,使得我们可以高效的获取数据或者修改数据
(3)数据是程序的核心要素,因此数据结构的价值不言而喻。无论你在写什么程序,你都需要与数据打交道,比如员工工资、股票价格、杂货清单或者电话本。在不同场景下,数据需要以特定的方式存储,我们用不同的数据结构可以满足我们的需求。
(4)一个好的程序无非是选择一个合理的数据结构和好的算法,而好的算法的选择很大程度上取决于描述实际问题所采用的数据结构,所以想编写出好的程序必须扎实的掌握数据结构。
3.常见的数据结构
(1)数组
(2)栈
(3)队