问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是数据结构和算法?学算法还需要去了解数据结构吗?

发布网友 发布时间:2022-04-25 16:53

我来回答

7个回答

热心网友 时间:2022-05-10 06:59

你这理解不完全正确。

      因为数据结构不只是内存中数据的排列,它是对数据的一种组织方式,就像图书馆要排书一样,是为了便于操作,同时它本身也集成了对通用操作:比如查找、比较等的支持。数组不是一种数据结构,而是一种数据类型。一个完整的数据结构包括逻辑结构和存储结构。通常选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素。

     因此在语言实现上,数据结构通常也会包含与之相对应的算法集合,这些算法是指基本算法:查找、索引、比较等。


      数据结构的逻辑结构和硬件是没有关系的,而其存储结构受到计算机硬件系统工作方式的影响,通常这点影响在于数据时顺序存储还是离散存储。算法的基础是数据结构。只有指定明确的数据结构,算法才能设计完成,脱离数据结构,算法是无法,也不可能成立的。因为不需要数据的算法就不是一个有效的计算机算法,算法中任何对数据的组织形式都可以被称之为数据结构。


2.数据结构在编程中的地位是极其重要的,是一个程序实现的基础中的基础,在此基础上才能构建算法。通常而言,你不了解什么高深的算法,一样能完成工作,但是如果你不了解基本的数据结构,那么可以说,你根本就不能完成一个任何有实质性内容的程序。Donald Ervin Knuth教授在其《计算机程序设计艺术》的第一卷《基本算法》中花费的绝大部分的篇幅去论述数据结构。由此可见数据结构对算法的重要性。

热心网友 时间:2022-05-10 08:17

数据结构与算法密不可分。

数据结构注重了数据的组织形式。 数据的一定的组织方式已决定了只适用于某此算法。

算法寻求在指定数据结构上的最优解, 也就是最有效率的方法。 为此也有此设计特定的数据结构的, 比如红黑树就是被发明出来的。

好的算法: 存储空间效率(数据结构)与时间效率(算法性能)达到一定的平衡, 而非只突出时间效率。 所以一定要同时考虑这两个方面才能设计出一个好的算法。

应用中还要考虑特定的环境, 比如嵌入式, 没有大的内存, 这时有些占用大量的内存的一些算法就不适用了。 


另一种角度: 借用C++中STL的概念,

数据结构: 在C++中定义为容器, 比如:vector(数组) list(链表)。。。而这些容器对于装入其中的东西并无*, 比如使用者可定义装int, 也可以装char, 还可以装string数据。


算法: 在C++中定义也叫算法, 比如find, 查找指定的一个元素, 你可在vector容器中查找 , 也可用在list容器查找。 但是在不同的容器中查找效率是不同的, 这是容器本身决定的。

热心网友 时间:2022-05-10 09:51

数据结构可以优化数据的存诸,使得数据存诸能够更省空间,查找更高效。

有时候数据结构本身就是一种算法,比如线段树,SPLAY树,堆。
而有一些算法是要建立在数据结构的基础之上才能够更高效的。
对于不同的算法需要采用合适的数据结构。比如最短路径算法,对于希疏图,我们要用连接表来存连。这样才不能导至大量的空连。而且连的查找也更高效。
而对于密图,我们采用连接矩阵来存诸。

热心网友 时间:2022-05-10 11:43

呵呵,这两个都是要学的。。。不学你怎么做好编程追问你说详细点 我做过数组 斐波那契 水仙花 比较大小什么的题 这不就是练算法吗 也没见弄数据结构啊 有何不可?我把算法弄熟了不是一样吗 有什么不同吗 给我举个例子说下

热心网友 时间:2022-05-10 13:51

你可以这样理解,数据结构你把它理解成excel里面的制作一张表格的表模,比如你做一张工资表,那么表模肯定你要考虑每一个数据的意义和它们应该放置于哪个位置。而算法就是你在表格内部数据间的关联运算,可以是逻辑的也可以是数学的。
因此你制作一张工资表,你肯定要先定结构,然后再定算法。当然你说只学算法不学结构照样能做出结构来,但你考虑更高一个层次,如果你这张工资表只是一个公司几百份表格中的一份,你如果不把它的结构搞得很清楚的表达,你其他表格要调用这张表格的数据就无从做到,而你如果用结构来表示,就很清晰了,这就是结构和算法的不同。
结构是较为宏观的思考方式,算法是微观的实现,它们之间密不可分。当然在现在软件开发工程里面,系统工程师可以分为做结构和做算法的,但一般做结构的都是更核心的成员,他们懂算法,但不用做算法,他们只要把数据结构模型构造好,工程分拆清晰,让其他的程序员按照他们规划的结构去做细致的工作就可以了。

热心网友 时间:2022-05-10 16:15

你猜猜看呢?

热心网友 时间:2022-05-10 18:57

数据结构就是“*度”的模版 + 内部与外部的联系。 当您定义好数据结构的时候,一个初始的数据模版就被定义出来,然后这个利用这个模版,您可以生成你想要的数据的模样。 这些数据内部的值可以内在有各种各样的联系,数据与数据直接也有各种个样的联系。 利用数据内部和外部的联系的配合,可以帮助人们抽象各种个样的问题。 常见的数据结构有链表,栈, 队列,数组等等。

算法以我的理解就是解决一个问题时需要的一个流程。通常一个算法能解决一类相似的问题,只要你的程序按照既定算法的步骤进行,就可以解决此类问题。对学习算法,我的建议就是把算法具体成图像,把几个关键的步骤用图像记忆下来。

数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要建立在特定的数据结构之上,因此无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。所以学算法就会涉及到数据结构,同样学数据结构也必须学到算法。想知道更多的数据结构与算法知识吗?可以去了解一下小码哥李明杰。
什么是数据结构和算法?学算法还需要去了解数据结构吗?

数组不是一种数据结构,而是一种数据类型。一个完整的数据结构包括逻辑结构和存储结构。通常选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素。因此在语言实现上,数据结构通常也会包含与之相对应的算法集合,这些算法是指基本算法:查找、索引、比较等。数据结构的逻辑结构和硬件是没...

什么是数据结构和算法?

数据结构是相互之间存在的一种或多种特定关系的数据元素的集合。包括4类基本的结构:集合、线形结构、树形结构、图状或网状结构。通俗点就是数据的逻辑结构,比方说这些数据在内存中以什么样的结构存放。算法实际是编程过程中完成一件事采用的方法,比方说现实生活中做数学题时两个人都将题完成但是他们...

什么是算法与数据结构

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的...

01 - 数据结构和算法的认识

数据结构是指所有数据元素以及数据元素之间的关系,可以看做是相互之间存在着某种特定关系的数据元素的集合,即可以把数据结构看成是 带结构的数据元素的集合 。数据的逻辑结构是从逻辑关系上描述数据的,常常将数据的逻辑结构简称为数据结构。集合:树形结构:图形结构:逻辑结构在计算机中的存储方式。依赖于...

数据结构和算法是什么意思?

数据结构指数据在计算机中存储存在的方式,比如 文件在硬盘中,有二进制,文本等形式存放, 程序中的一组数字可能放在数组里面,也可能在栈里面,也肯能在链表里面 算法就是计算机处理解决问题的计算机能理解的方法,比如算一个阶乘 , 计算机的算法就是写一个循环,从高到底, 一直乘下去,直到 1 为止, 复杂...

数据结构与算法知识?

这是因为,数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。比如,因为数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据。但如果IT培训选择链表这种数据结构,二分查找算法就无法工作...

数据结构和算法有什么关系?数据结构就是算法吗?

算法就无法产生,你不可能对一堆杂乱无章的数据编写算法,你要想对数据进行操作,必须能够找到数据,这样就必须将它们按照一定规律组织起来---这个过程不一定是算法,但是算法可以实现这个过程,数据结构是算法得以诞生的条件---否则就是数据间的杂乱无章的运动,但是运动并不是算法。反过来算法...

什么是数据结构?什么是算法?算法与程序有什么关系?

在计算机编程领域,数据结构与算法的应用是无处不在。比如图像视频处理、数据压缩、数据库、游戏开发、操作系统、编译器、搜索引擎、AR、VR、人工智能、区块链等领域,都是以数据结构与算法为基石。数据结构与算法属于开发人员的基本内功,也能训练大脑的思考能力,掌握一次,终生受益。扎实的数据结构与算法...

算法和数据结构有什么区别??

1、算法:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成。2、数据结构:核心技术是分解与抽象。通过分解可以划分出数据的3个层次;再通过抽象,舍弃数据元素的具体内容,就得到逻辑结构。参考资料来源:百度百科-数据结构 参考资料来源:百度百科-...

什么是数据结构?什么是算法?算法与程序有什么关系?

数据结构就是计算机存储、组织数据的方式,它是人们为了实现各种各样的算法和程序而设计出来的,具有一定性质或规律。比如栈可以用来实现递归算法的非递归化,图可以用来处理网络问题。算法你可以理解为用程序解决实际问题的方法。比如排序算法,查找算法。程序就是基于某种或某几种数据结构,采用某种算法或某...

数据挖掘需要学算法和数据结构吗 为什么要学数据结构与算法 编程要学数据结构和算法吗 学数据结构和算法买什么书 数据结构与算法学什么 先学数据结构还是算法 学数据结构与算法用什么软件 数据结构与算法必须学吗 数据结构与算法难学吗
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我在微软官网下了一个vista虚拟镜像,后缀是.vhd,请问怎么用呢?_百度知 ... 千锤百炼是形容词吗 千锤百炼怎么解释 Photoshop作印章 选完椭圆 就是打不出来字 有一个小圆一闪一闪的 切 ... 凸透镜成像时为什么人眼在蜡烛的另一侧看不到蜡烛 棕色光面牛皮鞋怎么清洗? 物业接管单位对建设单位提出的接管验收申请应该几天审核完毕 2024年中考改革有哪些内容和特点呢? 女方起诉离婚流程和费用男方家暴的规定是什么? 公章备案需要什么资料? 算法和数据结构有什么区别?? 鸿字11笔画好吗? 导致眼睛眼底黄斑水肿的原因? 眼底黄斑水肿能治好吗? 眼底黄斑水肿怎么治? 黄斑水肿 眼睛黄斑水肿怎么治疗? 黄斑水肿的原因 黄斑病变 水肿 眼睛眼底黄斑水肿是怎么回事? 什么是眼底黄斑水肿? 哪一款红茶又香又甜 眼底黄斑水肿的治疗方法 哪些品类红茶是甜的 眼底黄斑水肿如何治疗 有什么茶叶的口感是稍甜的吗? 电脑出现如下问题,是什么原因造成的 1.一拔掉电源电脑立即关机 2.关机 眼底黄斑水肿治疗 茶叶喝起来有点甜的是什么种类? 我的华为手机充电特别慢,而且充不满了,62%到98%两个小时,再不动了,我这刚买了七个月,怎么回事 数据结构和算法有什么关系?数据结构就是算法吗? 数据结构与算法的内容简介 数据结构和算法不一样吗? 学习“数据结构与算法”需要哪些数学基础? 数据结构学的到底是什么?和算法有什么关系? 数据结构与算法是什么?推荐一本数据结构的书,谢了 数据结构与算法之间的关系 数据结构与算法分析的作品目录 学数据结构和算法之前要先学什么? 如何去螨虫、黑头? 如何去螨虫黑头? 怎么能去除螨虫和黑头 怎样去螨虫和黑头 怎么样去除脸上的黑头和螨虫? 怎样去黑头。怎么样去螨虫?谢谢 去黑头、螨虫的好方法有哪些? 怎么去螨虫和黑头 怎样去螨虫和黑头妙招 在生活中怎么去螨虫?怎么去黑头? 怎么 去除脸上螨虫 引起的黑头