算法和数据结构的关系

请问数据结构和算法应该先学习哪一个?数据结构对于学习算法帮助大吗?尤其对于ACM来说... 请问数据结构和算法应该先学习哪一个?数据结构对于学习算法帮助大吗?尤其对于ACM来说 展开
 我来答
安在秀刘继昌Bcfa5
2012-06-17 · TA获得超过2353个赞
知道小有建树答主
回答量:1428
采纳率:0%
帮助的人:591万
展开全部
数据结构是数据间的有机关系,算法是对数据的操作步骤。这两个概念间的逻辑关系贯穿了整个程序世界,首先二者表现为不可分割的关系。没有数据间的有机关系,程序根本无法设计,例如,设计a+b的程序,你总得找到a和b的值吧,a和b必须是可以互相找到的才能进行程序运算,a和b就必然要联结成一定的关系,或是线性关系,或是树型关系,或者是图型关系,你的程序才能产生,杂乱无章的数据-------就是没有数据结构的数据,是没有算法的,你试试做一个电子运动的时间和坐标对应的算法看看行不行,显然不行。因为有了数据结构,算法才能诞生。反过来,算法又是数据结构得以维持的一个条件,没有算法,数据根本无法有规律的打交道,也就是说数据的间只会是杂乱无章地碰撞,这样数据结构就会消灭。算法是绝对运动的,数据结构是相对静止的,二者是不可分割的关系。数据结构和算法不仅仅是计算机中才有的,计算机是后来诞生的东西,计算机的概念来源于自然界,自然界中例如一棵树的根和树叶之间的信息交流就是一个算法,是建立在根数据和树叶数据之间可以相通的关系上的算法,计算机只是自然界的一个模拟,编程语言不是程序的一个要素,因为自然界是没有语言的,但是有程序,这是唯物主义的观点。

算法是活泼的,数据结构是迟钝的,算法的发展要求数据结构跟着发展,否则就会阻碍算法的发展,算法的发展或迟或早必然冲破数据结构的束缚,二者必然将建立在一个新的起点继续着矛盾运动,

数据结构是相对静止的,算法是绝对运动的,这二者首先表现为不可分割的关系。没有一定组织关系的数据,算法就无法产生,你不可能对一堆杂乱无章的数据编写算法,你要想对数据进行操作,必须能够找到数据,这样就必须将它们按照一定规律组织起来-----这个过程不一定是算法,但是算法可以实现这个过程,数据结构是算法得以诞生的条件-----否则就是数据间的杂乱无章的运动,但是运动并不是算法。反过来算法是数据结构得以维持的条件,没有了算法对数据进行操作,数据就不会有规律地进行交互,数据结构也就随之消灭。客观世界是物质的,物质是运动的,运动是有规律的,有规律的运动就是程序,客观世界是存在程序的,所以不用担心没有算法世界会怎么样,如果没有规律的运动,就不会有人。
算法的革命的、活泼的,数据结构是反动的、迟钝的,算法的发展必然推动数据结构的发展,简单的数据结构不可能适应复杂的算法,只有提供多种复合的数据结构才能为复杂的算法提供新的空间,算法的发展必然会冲破数据结构的束缚-----不过不要忘记了这种物的规律是由人来实现的。
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
shenli570
推荐于2017-09-10
知道答主
回答量:6
采纳率:0%
帮助的人:3.7万
展开全部
记得网上曾经有一个帖子,大概的列出了学习ACM来说需要的知识背景。如果不是牛人,或者天生受虐倾向,普通人看到了都会晕倒,多达100多个科目(全部需要数学背景)。楼主觉得你能学的过来吗?
但是,所有的算法,乃至数学在实际运用中都是要根据不同的数据来选择不同的方法,所以一般学习过算法和数据结构的人都会越发的认识到,数据才是程序的中心,只有找到了一个组织数据的最佳方式,算法的运用才会事半功倍。比如我印象最深刻的是在大二时做的一道题目:判断一个输入的数是否符合科学计算法。如e*103,-30.90*103就不是。 这样一道题,如果用普通的数组线性存储,然后逐一判断,效率的算法的复杂度都是不合格的。 有限状态机则清晰明了的解决了这个问题。即把所有可能的状态和状态的转换画成一个矩阵,然后每读取一个输入的字符就在这些状态中跳转,直到最后一个字符为止,判断最终状态是有效还是无效状态。
总而言之:数据结构是问题的核心,是算法的基础。

建议楼主先磨好数据结构这把剑,对算法也不用着急,毕竟很多的数据结构的书中都有一些基础算法的介绍的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
boyang987
2011-02-01 · 超过11用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:0
展开全部
数据结构+算法=程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式