,看样子我有点误解楼主的意思了,前面我说的太草率了.
如果是说数据结构这门课,他是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科.
如果是说数据结构这个概念,数据结构是相互之间存在一种或多中特定关系的数据元素的集合(就象化学里面一个分子中包含的所有原子,每个原子就相当与一个数据元素).不过,国际上并没有一个统一的准确的定义.它也可以理解为数据元素之间的相互关系(一个分子中包含的所有原子之间的相互关系).他的字面意思更倾向后一种解释,不过在很多时候他是当作前一种解释在用.我个人看法是这两中解释要合起来才是数据结构的真正含义,到底是哪个意思要看具体情况.
算法,顾名思义,计算方法,是对特定问题求解步骤的一种描述,它是指令的有限序列.
他们之间的关系,
如果是说数据结构这门课,假如数据结构是立体几何,那么算法就是数学里面的所有的定理公理推论公式,前面说的狭隘了点,这个比喻没什么问题.
如果是说数据结构这个概念,假如说数据结构是一堆积木,那么算法就是将这堆积木摆成特定样子的过程方法.
楼上说的不错
不过
数据结构的功能完成需要算法的帮助
算法的实现需要对应高效的数据结构的支持
这两句好象有点问题.
数据结构的功能?不大好理解.
改为"对数据结构的操作需要用算法来完成"好一点
而"算法的实现需要对应高效的数据结构的支持"这句,如果是在《算法导论》中,没有问题,但在《数据结构》中可就本末倒置了.因为《数据结构》中是针对特定的数据结构来寻找对应的高效算法,而不是根据算法来找对应的数据结构.