计算机科学已经深入应用到各个领域,不仅能有效解决各种工程和科学计算中的数值计算,而且还有效解决了许多文本处理,信息检索,数据库管理,图像识别,人工智能等非数值数据的处理.

什么是数据结构

百度百科对于数据结构的定义为:

数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。简而言之,数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。“结构”就是指数据元素之间存在的关系,分为逻辑结构存储结构

举个例子:
以手机联系人为例,联系人包含名字,电话号码,地址,邮箱等等信息。它们之间存在一定的逻辑关系,例如每个电话号码对应一个名字,对应一个地址。而要把这些信息存储在手机中,需要确定信息的存储方式。

一句话总结:
数据结构就是如何按一定的逻辑结构,把数据组织起来,并选择适当的存储表示方法把逻辑结构组织好的数据存储到计算机的存储器里。

研究数据结构就是研究如何组织数据,如何存储数据。

什么是算法

百度百科对于算法的定义为:

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间,空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

举个例子:
假如你需要将无序学生的试卷按学号倒序排列,你有几种方法

  1. 先找到学号最大的试卷,再找剩余试卷中学号最大的,直到排序完成。
  2. 以学号中位数为分界线,大于此学号的放左边,小于的放右边。对左右两堆试卷重复上述步骤直至排序完成
    这种排序方法就是具体的算法

一句话总结:
算法是程序的逻辑抽象,是解决某类客观问题的过程.