当前位置:首页 > 培训职业 > 正文

数据结构和算法有什么关系

数据结构是数据间的有机关系,算法是对数据的操作步骤。这两个概念间的逻辑关系贯穿了整个程序世界,首先二者表现为不可分割的关系。没有数据间的有机关系,程序根本无法设计,例如,设计a+b的程序,你总得找到a和b的值吧,a和b必须是可以互相找到的才能进行程序运算,a和b就必然要联结成一定的关系,或是线性关系,或是树型关系,或者是图型关系,你的程序才能产生,杂乱无章的数据-------就是没有数据结构的数据,是没有算法的,你试试做一个电子运动的时间和坐标对应的算法看看行不行,显然不行。因为有了数据结构,算法才能诞生。反过来,算法又是数据结构得以维持的一个条件,没有算法,数据根本无法有规律的打交道,也就是说数据的间只会是杂乱无章地碰撞,这样数据结构就会消灭。算法是绝对运动的,数据结构是相对静止的,二者是不可分割的关系。数据结构和算法不仅仅是计算机中才有的,计算机是后来诞生的东西,计算机的概念来源于自然界,自然界中例如一棵树的根和树叶之间的信息交流就是一个算法,是建立在根数据和树叶数据之间可以相通的关系上的算法,计算机只是自然界的一个模拟,编程语言不是程序的一个要素,因为自然界是没有语言的,但是有程序,这是唯物主义的观点。

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

数据结构是相对静止的,算法是绝对运动的,这二者首先表现为不可分割的关系。没有一定组织关系的数据,算法就无法产生,你不可能对一堆杂乱无章的数据编写算法,你要想对数据进行操作,必须能够找到数据,这样就必须将它们按照一定规律组织起来-----这个过程不一定是算法,但是算法可以实现这个过程,数据结构是算法得以诞生的条件-----否则就是数据间的杂乱无章的运动,但是运动并不是算法。反过来算法是数据结构得以维持的条件,没有了算法对数据进行操作,数据就不会有规律地进行交互,数据结构也就随之消灭。客观世界是物质的,物质是运动的,运动是有规律的,有规律的运动就是程序,客观世界是存在程序的,所以不用担心没有算法世界会怎么样,如果没有规律的运动,就不会有人。

算法的革命的、活泼的,数据结构是反动的、迟钝的,算法的发展必然推动数据结构的发展,简单的数据结构不可能适应复杂的算法,只有提供多种复合的数据结构才能为复杂的算法提供新的空间,算法的发展必然会冲破数据结构的束缚-----不过不要忘记了这种物的规律是由人来实现的。

多重随机标签

猜你喜欢文章