百度
360搜索
搜狗搜索

数据结构与算法,数据结构和算法是一回事么?详细介绍

本文目录一览: 数据结构与算法的关系

数据结构与算法的关系如下:
一、指代不同。
1、算法:是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令。
2、数据结构:指相互之间存在一种或多种特定关系的数据元素的集合。
二、目的不同。
1、算法:指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。
2、数据结构:研究的是数据的逻辑结构和数据的物理结构之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。
三、特点不同。
1、算法:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成。
2、数据结构:核心技术是分解与抽象。通过分解可以划分出数据的3个层次;再通过抽象,舍弃数据元素的具体内容,就得到逻辑结构。

数据结构和算法不一样吗?

不一样。
数据结构,无论复杂或简单,只是数据。
算法是计算机可执行的数值计算方法,它加工数据,产出数据。
数据是原料和制成品。
算法是工厂,是生产流水线。
算法和数据有关,但两者不一样。
蛋糕厂同鸡蛋,面粉有关,但蛋糕厂不同于原料。
不一样。
说白一点:
算法是完成某件事的方法
数据结构是实现这个方法的方法。
程序就是数据结构+算法
不是!
算法是属于数据结构的!
数据结构是为编程找最简单的路径!
举例来说明最好了
都知道数据库吧
那个可以看作为仓库
而数据结构是说仓库中的物品的摆放方式,如Tree,List...
而算法是说摆放物品的行为方式,比如是塞进仓库,拉进去,还是推进去
这个肯定是不一样,有区别的。数据是一切能输入计算机中的信息的总和,结构是指数据之间的关系。数据结构就是将数据及其之间的关系有效地存储在计算机中并进行基本操作。
算法是对特定问题求解步骤的一种描述,通俗讲就是解决问题的方法和策略。
但是他们又是相辅相成的。只有数据结构没有算法,相当于只把数据存储到计算机中,而没有有效的方法去处理,就像一幢只有框架的烂尾楼;若只有算法,没有数据结构,就像沙漠里的海市蜃楼,只不过是空中楼阁罢了。
数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现的。数据结构是数据间的有机关系,而算法是对数据的操作步骤;两者不可分开来谈,不能脱离算法来讨论数据结构,也不能脱离数据结构研究算法。
如果你还不太清楚,或者想知道的更多,可以去了解一下小码哥李明杰。

计算机二级数据结构与算法知识点

一、数据结构
(1)数据结构的基本概念
1、数据:数据是客观事物的符号表示,是能输入到计算机中并被计算程序识别和处理的符号的总称,如文档,声音,视频等。
2、数据元素:数据元素是数据的基本单位。
3、数据对象:数据对象是性质相同的数据元素的集合。
4、数据结构:是指由某一数据对象中所有数据成员之间的关系组成的集合。
(2)逻辑结构和存储结构
1、数据结构可分为数据的逻辑结构和存储结构。
1)数据的逻辑结构是对数据元素之间的逻辑关系的描述,与数据的存储无关,是面向问题的,是独立于计算机的。它包括数据对象和数据对象之间的关系。
2)数据的存储结构也称为数据的物理结构,是数据在计算机中的存放的方式,是面向计算机的,它包括数据元素的存储方式和关系的存储方式。
2、存储结构和逻辑结构的关系:一种数据的逻辑结构可以表示成多种存储结构即数据的逻辑结构和存储结构不一定一一对应。
3、常见的存储结构有:顺序,链接,索引等。采用不同的存储结构其数据处理的效率是不同的。
二、算法基本概念
1、算法:是指一组有穷的指令集,是解题方案的准确而完整的描述。算法不等于程序,也不等于计算方法。
2、算法的基本特征:
1)确定性,算法中每一步骤都必须有明确定义,不允许有多义性;
2)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止;
3)可行性,算法原则上能够精确地执行;
4)拥有足够的情报。
3、算法的组成要素:一个算法由数据对象的运算和操作以及其控制结构这两部分组成。
4、算法的基本运算和操作:算术运算,逻辑运算,关系运算,数据传输。
5、算法的基本控制结构:顺序,选择,循环。
6、算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术。

通俗说数据结构与算法有什么关系啊
数据结构和算法有什么关系?数据结构就是算法吗?

首先你要弄清楚数据结构是什么?数据结构呢其实就是一种存储数据之间的逻辑结构:比如我们学过的线性结构:顺序表啦,链表啦;层次结构:树啦。合适的数据结构可以带来更高的运行效率和存储效率,与相应解决实际问题算法的适应性也就越高,这也就是为什么一些算法指定了数据存储必须以某种特定的数据结才行。一般都是根据合适的数据结构来设计算法,而不是根据算法来设计数据结构。
算法和数据结构往往是互不分开的。离开了算法,数据结构就显得毫无意义,而没有了数据结构算法就没有实现的条件。良好的数据结构思想就是一种高效的算法,但是数据结构不等于算法。只有当数据结构用于处理某个特定问题类型的时候,数据结构才会体现为算法。要想细致的了解,就要多看书,因为这东西毕竟发展了那么多年,一两句话是说不清楚的。想知道更多的数据结构与算法知识吗?可以去了解一下小码哥李明杰。
它们可以相互区别也可以相互统一。广义上讲,算法是某一系列运算步 骤,它表达解决某一类计算问题的一般方法,对这类方法的任何一个输入,它可以按步骤一步一步计算,最终产生一个输出。但是对于所有的计算问题,都离不开要 计算的对象或者要处理的信息,而如何高效的把它们组织起来,就是数据结构关心的问题,所以算法是离不开数据结构的。单讲数据结构,它指数据的组织结构,它 有逻辑结构和物理结构,另外还包括一些定义在某种数据结构上的算法,它只限于某一特定数据结构中使用,可以认为它是数据结构的组成部分,比如栈的压栈操 作,这些算法虽小但很重要,可以看成是它们决定了数据结构的外部特性,比如同样是堆,有二叉堆,二项式堆,它们除了内部结构的不同,最大的还是外部操作的 算法性能不同,也决定了它们本质上的不同,如果外部性能一样,那研究将是毫无意义的。总之,不能脱离算法讨论数据结构,也不能脱离数据结构研究算法。
著名数据专家沃斯曾说:算法+数据结构=程序
你说他们一样吗?不一样
数据结构是按照逻辑关系组织起来的一批数据,按期存储结构把他存储在计算机中,并在这些数据上定义一个运算的集合。(简单说就是先在稿纸上画出这个数据怎么组织起来,这是逻辑关系,然后在计算机中怎么存储,是按顺序存,还是加个指针索引的存,这是存储结构,最后还要定义一些运算,就是这个数据能完成那些操作)
比如int a,b 就是 定义了int存储2个字节, 运算的集合,运算只能完成+ - * /
而算法是一个实现方法的步骤,这是第二步需要完成的,是具体实现的
我举个栗子
国家要制定2019年接下来的五年计划,先在稿纸上写下我的制定计划需要那些数据(大学生人数比,工人就业率,出生率,国家GDP,居民基尼系数,工业产值,负债),数据是什么关系,比如按网的形式连接起来(在计算机中就是“图型”,计算机逻辑结构还有线性表、树),我们先把收集的数据按一定方式存放到档案室(要不然大家不好找)供大家一起研习(这是存储结构,计算机存储结构又分为链式存储、顺序存储等等),还有我们能使用哪些方式,金融,高铁、飞机、坦克大炮、科技(这就是我们定义的运算,我们可以使用的方式)。
这样第一步就完成了,也就是数据结构的部分,完成了
第二步,大家通过看这些数据和我们能使用的方法,开始集思广益,我们该怎么做,先要干什么,在干什么,如果这个目标没达到,就需要想别的方法,然后一套方案就完成了(这就是算法)
算法+数据结构=程序,数据结构,内容包括数数组、链表、堆栈、队列等。
一个优秀的软件开发师需要数据结构可以很高效的处理复杂的问题。 因为移动互联网本身就决定了数据的重要程度。 所以数据结构算法真的很重要, 尤其是搞大数据处理的时候。
数据结构与算法它们可以相互区别也可以相互统一。数据结构是数据间的有机关系,算法是对数据的操作步骤。
数据结构是按照逻辑关系组织起来的一批数据,按期存储结构把他存储在计算机中,并在这些数据上定义一个运算的集合。(简单说就是先在稿纸上画出这个数据怎么组织起来,这是逻辑关系,然后在计算机中怎么存储,是按顺序存,还是加个指针索引的存,这是存储结构,最后还要定义一些运算,就是这个数据能完成那些操作)
数据结构是数据间的有机关系,算法是对数据的操作步骤。这两个概念间的逻辑关系贯穿了整个程序世界,首先二者表现为不可分割的关系。没有数据间的有机关系,程序根本无法设计,例如,设计a+b的程序,你总得找到a和b的值吧,a和b必须是可以互相找到的才能进行程序运算,a和b就必然要联结成一定的关系,或是线性关系,或是树型关系,或者是图型关系,你的程序才能产生,杂乱无章的数据-------就是没有数据结构的数据,是没有算法的,你试试做一个电子运动的时间和坐标对应的算法看看行不行,显然不行。因为有了数据结构,算法才能诞生。反过来,算法又是数据结构得以维持的一个条件,没有算法,数据根本无法有规律的打交道,也就是说数据的间只会是杂乱无章地碰撞,这样数据结构就会消灭。算法是绝对运动的,数据结构是相对静止的,二者是不可分割的关系。数据结构和算法不仅仅是计算机中才有的,计算机是后来诞生的东西,计算机的概念来源于自然界,自然界中例如一棵树的根和树叶之间的信息交流就是一个算法,是建立在根数据和树叶数据之间可以相通的关系上的算法,计算机只是自然界的一个模拟,编程语言不是程序的一个要素,因为自然界是没有语言的,但是有程序,这是唯物主义的观点。
算法是活泼的,数据结构是迟钝的,算法的发展要求数据结构跟着发展,否则就会阻碍算法的发展,算法的发展或迟或早必然冲破数据结构的束缚,二者必然将建立在一个新的起点继续着矛盾运动,
数据结构是相对静止的,算法是绝对运动的,这二者首先表现为不可分割的关系。没有一定组织关系的数据,算法就无法产生,你不可能对一堆杂乱无章的数据编写算法,你要想对数据进行操作,必须能够找到数据,这样就必须将它们按照一定规律组织起来-----这个过程不一定是算法,但是算法可以实现这个过程,数据结构是算法得以诞生的条件-----否则就是数据间的杂乱无章的运动,但是运动并不是算法。反过来算法是数据结构得以维持的条件,没有了算法对数据进行操作,数据就不会有规律地进行交互,数据结构也就随之消灭。客观世界是物质的,物质是运动的,运动是有规律的,有规律的运动就是程序,客观世界是存在程序的,所以不用担心没有算法世界会怎么样,如果没有规律的运动,就不会有人。
算法的革命的、活泼的,数据结构是反动的、迟钝的,算法的发展必然推动数据结构的发展,简单的数据结构不可能适应复杂的算法,只有提供多种复合的数据结构才能为复杂的算法提供新的空间,算法的发展必然会冲破数据结构的束缚-----不过不要忘记了这种物的规律是由人来实现的。

什么是数据结构和算法

算法就是计算机处理解决问题的计算机能理解的方法。
比如算一个阶乘 , 计算机的算法就是写一个循环,从高到底, 一直乘下去,直到 1 为止。
复杂的算法比如一个强连通带权网络,求两点间的最短路径,这个很有用啊....比如采用广度优先算法,或深度优先算法
数据结构指数据在计算机中存储存在的方式。
比如文件在硬盘中,有二进制,文本等形式存放, 程序中的一组数字可能放在数组里面,也可能在栈里面,也肯能在链表里面

数据结构和算法是一回事么?

有这两门的课程视频建议你可以看看。
看看这个是否适合你,希望可以帮到你!
数据结构是计算机存储、组织数据的方式。
算法是指完成一个任务准确而完整的描述。也就是说给定初始状态或输入数据,经过计算机程序的有限次运算,能够得出所要求或期望的终止状态或输出数据。
楼上说的没错.
至于为什么数据结构和算法总是在一起出现,是因为它们两个构成了程序设计.
就是说:程序设计=数据结构设计+算法设计.
两门
数据结构是计算机存储、组织数据的方式。
算法是指完成一个任务准确而完整的描述。也就是说给定初始状态或输入数据,经过计算机程序的有限次运算,能够得出所要求或期望的终止状态或输出数据。

数据结构与算法知识?

对于大多数的程序员来说,在学习数据分析等技术的时候需要先了解关于数据结构以及算法等知识点,下面我们就给大家简单介绍一下什么是数据结构?什么是算法?
大部分数据结构和算法教材,在开篇都会给这两个概念下一个明确的定义。但是,这些定义都很抽象,对理解这两个概念并没有实质性的帮助,反倒会让你陷入死抠定义的误区。毕竟,我们现在学习,并不是为了考试,所以,概念背得再牢,不会用也就没什么用。
虽然我们说没必要深挖严格的定义,但是这并不等于不需要理解概念。下面我就从广义和狭义两个层面,来帮你理解数据结构与算法这两个概念。
从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。
图书馆储藏书籍你肯定见过吧?为了方便查找,图书管理员一般会将书籍分门别类进行“存储”。按照一定规律编号,就是书籍这种“数据”的存储结构。
那我们如何来查找一本书呢?有很多种办法,你当然可以一本一本地找,也可以先根据书籍类别的编号,是人文,还是科学、计算机,来定位书架,然后再依次查找。笼统地说,这些查找方法都是算法。
从狭义上讲,也就是我们专栏要讲的,是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。这些都是前人智慧的结晶,我们可以直接拿来用。我们要讲的这些数据结构和算法,都是前人从很多实际操作场景中抽象出来的,经过非常多的求证和检验,可以高效地帮助我们解决很多实际的开发问题。
那数据结构和算法有什么关系呢?为什么大部分书都把这两个东西放到一块儿来讲呢?
这是因为,数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。
比如,因为数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据。但如果IT培训选择链表这种数据结构,二分查找算法就无法工作了,因为链表并不支持随机访问。
数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。

数据结构与算法的重要性

数据结构与算法的重要性如下:
在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。
许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。
选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素。这种洞见导致了许多种软件设计方法和程序设计语言的出现,面向对象的程序设计语言就是其中之一。
数据结构分类:
1、集合结构。该结构的数据元素间的关系是“属于同一个集合”。
2、线性结构。该结构的数据元素之间存在着一对一的关系。
3、树型结构。该结构的数据元素之间存在着一对多的关系。
4、图形结构。该结构的数据元素之间存在着多对多的关系,也称网状结构。一个数据结构有两个要素。一个是数据元素的集合,另一个是关系的集合。在形式上,数据结构通常可以采用一个二元组来表示。

什么是数据结构和算法分析?在编程里起到什么作用?

什么是数据结构和算法?
数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中,算法就是操作数据的方法。
数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。 因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。
在编程中的作用?
刚开始学习编程时有一种误解,会编程就行,研究什么数据结构啊?数据结构与算法能够帮你如何快速把现实问题转化为计算机语言。到底该怎么转化?《数据结构》已经给出了指引:设计出数据结构,在施加以算法就行了,当然现实问题会更复杂,需要框架,类库,模式等支撑,具体的知识可以去小码哥李明杰了解。
这是一种非常重要的逻辑思维能力的锻炼,也是程序员入门的条件。很多半路出家的人, 仅仅上了个培训班后参加工作,写出的代码实在是惨不忍睹,很明显只掌握了工具,逻辑思维的训练远远不足。
总结一下,学习完数据结构其实会潜移默化的影响你的逻辑思维,当然,你需要多多练习才有可能使用纯熟,等它变成身体一部分以后,你就发现其实大部分编程任务都没什么难度了,更难的其实是对编程更高的要求:抽象的能力。
开发软件的时候,总会遇到需要针对数据计算结果的时候,怎么用计算机语言把计算过程表示出来,就是算法了。
编程是为了解决问题,这些问题并表都是数值计算,其所处理的数据并不都是数值,但计算机所能处理的最终是0和1的二进制串,所以需要把问题中的数据用计算机能处理的方式来表示,这就需要数据结构。
简单的说,数据结构是数据在计算机中的表示方式,有逻辑结构和物理结构之分,如逻辑上同样的队列,物理上可以是顺序存储,也可以是链式存储。
通俗的讲,算法就是解决问题的方法,比如同样的排序,可以用冒泡排序、插入排序等,不同的算法可以达到相同的目标,但是效率可能有所不同。

阅读更多 >>>  自学数据结构看什么书

网站数据信息

"数据结构与算法,数据结构和算法是一回事么?"浏览人数已经达到20次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:数据结构与算法,数据结构和算法是一回事么?的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!