在高等院校的计算机相关专业里,我们都要学习数据结构这门学科。那么什么是数据结构呢?
要理解这个问题,我们先来探讨“数据”这个词的产生。通俗一点来说,数据这个词通常用来指用数值来表示某一事物的数量、大小、长度等等的可以称之为数据。比如某一养殖户养殖的鸡年产枚鸡蛋、某水域的水位m、某地海拔高m、我国某地的人口数量为万人等等,这些数值都可以称之为数据。
可是在计算机的相关领域却不仅仅是这样,在计算机里的数据不仅数值数值数据,也可以是非数值数据。我们知道,计算机是以二进制的形式进行计算的,如何数值的输入都要转化成二进制的形式才能被处理。比如8这个数,在计算机里要转为对应的的二进制000才能被计算处理。
同样要计算如3+8这样的式子也要转化成二进制才可以,包括其中的“+”也是如此,要转化成对应的二进制,那么现在问题来了,这个“+”他不是一个数值,他叫做数据吗?答案是肯定的。这些能被输入到计算机里且能被计算机处理的符号、数值、字母和它们的组合、图形、图像、视频等等都可以称之为数据。像字母a、b、c、d啊,在或者你手机上的一张图片都是数据,比如这个图片它在计算机里是以色彩点与位置的组合,它子计算机里就是用着组数据进行存储、传输、就是等等操作的。
数据有了,那么数据结构是什么呢?
在一些教程是这样定义的:数据结构是计算机存储、组织数据的方式,是指相互间存在一种或多种关系的数据集合。而数据结构这门课程的研究内容是:研究非数值计算的程序设计问题中计算机的操作对象及它们之间的关系和操作的学科。
如果以上的解说方式太专业化,不好理解的话呢,我们也可以通俗一点的来说,就查找和选择这个功能吧
如上图,我们要查找表中的一项数据,从程序本身的角度来说是有很多种方法的,可是我们只需要最快的那个程序,那么我们的程序要什么样子的就是这个课程要解决和研究的。
再如从A地到B地有很多路径,可是我们要怎么选择最快的那一条路呢,这样的问题都是数据结构可以要研究的。