数据结构和算法的区别

版权声明:转载请附上博客地址 https://blog.csdn.net/weixin_38134491/article/details/84723084

今天我们来看看数据结构和算法有什么区别,

举个例子,你中午吃午饭,你的算法可能是:

  1. 夹菜
  2. 吃一口饭
  3. 如果吃饱,转4;如果没吃饱,转1
  4. 结束

而你选择的数据结构可能是:

  • 坐着吃
  • 站着吃
  • 躺着吃

如果你选择的是坐着吃的数据结构,那么你夹菜就是直着背夹菜,

如果你选择站着吃得数据结构,你需要弯腰夹菜,

但两种情况下都是进行夹菜的动作,以此类推。

下面具体看看理论分析:

程序设计=数据结构+算法

  • 数据结构

数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现的,

扫描二维码关注公众号,回复: 4360721 查看本文章

往往是在发展一种算法的时候,构建了适合于这种算法的数据结构算法的操作对象是数据结构。

算法的设计和选择要同时结合数据结构,简单地说数据结构的设计就是选择存储方式

如确定问题中的信息是用数组存储还是用普通的变量存储或其他更加复杂的数据结构。

  • 算法

算法设计的实质就是对实际问题要处理的数据选择一种恰当的存储结构,并在选定的存储结构上设计一个好的算法。

不同的数据结构的设计将导致差异很大的算法。数据结构是算法设计的基础。

用一个形象的比喻来解释:

开采煤矿过程中,煤矿以各种形式深埋于地下。矿体的结构就像相当于计算机领域的数据结构,而煤就相当于一个个数据元素。开采煤矿然后运输、加工这些“操作”技术就相当于算法。显然,如何开采,如何运输必须考虑到煤矿的存储(物理)结构,只拥有开采技术而没有煤矿是没有任何意义的。

算法设计必须考虑到数据结构,算法设计是不可能独立于数据结构的。 

另外,数据结构的设计和选择需要为算法服务。如果某种数据结构不利于算法实现它将没有太大的实际意义。

知道某种数据结构的典型操作才能设计出好的算法。  
总之,算法的设计同时伴有数据结构的设计,两者都是为最终解决问题服务的。

数据结构与算法的区别:  
数据结构关注的是数据的逻辑结构、存储结构以及基本操作,而算法更多的是关注如何在数据结构的基础上解决实际问题。算法是编程思想,数据结构则是这些思想的逻辑基础。

Reference:http://www.cnblogs.com/chenweichu/articles/5694634.html

猜你喜欢

转载自blog.csdn.net/weixin_38134491/article/details/84723084
今日推荐