首页后端开发正文

数据结构和算法的关系和区别

朱绪2016-10-063413

因为现在很多高校《数据结构》课上面都会把数据结构和算法的知识掺在一块儿讲,所以不少学生会以为数据结构就是在讲算法,实际上并不是这样的。

数据结构和算法的关系和区别

《数据结构》和《算法》完全是俩独立的学科,倘若非说它们有关系,那也是互利共赢、“1+1>2”的关系。

如果你认为数据结构是在讲算法,那么计算机相关专业为什么还要单独开设一个《算法导论》课程呢?这不是多此一举吗?

我们其实可以从【分析问题】的角度来厘清数据结构与算法之间的关系。

一般而言,每一个问题的解决都要经过以下两个步骤:

①分析问题,从问题当中提炼出有价值的数据将其存储。

②对存储的数据进行处理,最终得到问题的答案。

数据结构负责解决第一个,也就是数据的存储问题。针对数据不同的逻辑结构和物理结构选出最优的数据存储结构来存储数据。

而第二个就是要算法来负责的了。

算法,从表面来理解就是解决问题的方法。

我们都知道,怎么评价一个算法好不好呢?就是看它解决相同问题的前提下,哪种算法效率更高,这个效率,就是指处理数据和分析数据的能力。

102001.jpg

所以,我们可以得出一个结论就是:数据结构用于解决数据存储的问题,而算法用于处理和分析数据。

我们在解决问题的过程中,数据结构要配合算法选择最优的存储结构来存储数据,算法也要结合数据存储的特点,用最优的策略来处理分析数据。

只有协同起来,才能更好地解决问题。