数据结构
数据结构研究的是:
如何将现实生活中,大量而复杂的问题,以特定的数据类型和特定的存储结构保存到内存中,以及对数据进行的一些相关操作。
通俗解释:
因为现实生活中,有大量复杂的问题,这些问题当中,有线性的问题(比如保存一个班级的所有学生信息到计算机中),也有非线性的问题(比如图书馆的图书管理系统),这些问题不一样,比较复杂。
纵使问题很复杂,但是计算机的物理存储结构就只有一种—线性存储。
数据结构研究的就是:如何将这复杂的问题,用某种特定的方法,合适的方法,将这些复杂的问题存储在单纯的计算机中。使其既能不太浪费计算机存储空间,又能恰当表示问题,以及对这些问题进行高效的操作(比如增删改等等)。
下面用一幅图来表示:
如上图:“某种方法”就是数据结构要研究的内容。
算法
数据结构解决了如何存的问题,即解决了如何将现实中的问题在计算机中表示的问题。
存储了以后要怎么办呢?
那么就是面对实际问题进行的一些操作了。
比如:将图书馆中所有的图书都合理高效的保存到了计算机中。接下来,我就要对这些图书进行一些操作了:比如查找某一类图书,比如删除某一类图书。
如何进行高效稳定的查询,高效稳定的删除,以及高效稳定的其他操作,就是算法要要研究的内容。
比如:现在查询某一类图书的时间是10s,我如何将查询的时间优化到1s?
等等诸如此类的问题,就是算法要研究的内容。