数据结构,直白地理解,就是研究数据的存储方式与数据之间关系的学科 。存储方式与数据之间关系就好比在一个仓库里面,如何摆放物品以及不同种类的物品安装怎么的位置摆放,好的摆放方式不仅仅提高了仓库空间的利用率,同时也提高了货物的入库与出库效率。因此,学习数据结构对于我们以后编写程序代码,有很好的益处。
例如,存储 1、2、{a,b,c}、"https://blog.youkuaiyun.com/speedwalkman" ,解决方式无疑是用变量或者数组对数据进行存储,即:
// Java代码
int a=1;
int b=2;
char[] str = {'a','b','c'};
String url ="http://data.biancheng.net";
但是,如果要存储这样一组数据:{张亮,张平,张华,张群,张晶,张磊},数据之间具有这样的关系:张亮是张平、张华和张群的父亲,同时张平还是张晶和张磊的父亲,数据之间的关系如图 1 所示:
对于存储之间具有复杂关系的数据,如果还是用变量或数组来存储,数据存储是没有问题,但是无法体现数据之间的逻辑关系,同时读取他们之间信息时,效率极低,如果是大量数据的存储和读取,那将是及其复杂的存储和读取过程,显然不明智。
针对此类数据,数据结构中提供有专门的树结构来存储这类数据。
再比如,大家肯定用过导航软件(比如高德、腾讯地图等),要想实现精确导航,软件必须存储大量的数据,包括各个省、市、区、县的道路、建筑物、红绿灯等位置信息,以及每个地区的天气信息、高速路况信息等等。很明显,这些数据绝不是使用变量或数组进行存储的,那样对于数据的使用简直是个悲剧。
针对此类数据,数据结构提供了图存储结构,专门用于存储这类数据。
通过学习数据结构,你将获得到很多存储数据的方案,实现在存储数据的同时,还能正确存储数据之间的关系。通过以上两个示例可以体会出,数据结构教会我们的绝不仅仅是如何存储 1、2、{a,b,c} 这样简单的数据,而是解决具有复杂关系的大量数据的存储、加过处理和传输问题。
因此,数据结构是什么?
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。无论你掌握哪种编程语言,也无论你从事什么开发工作,只要你和数据打交道,就一定会用到数据结构。
下一篇