为了账号安全,请及时绑定邮箱和手机立即绑定

请教一下关于什么是数据结构和算法分析?在编程里起到什么作用?

请教一下关于什么是数据结构和算法分析?在编程里起到什么作用?

猛跑小猪 2019-11-19 17:13:06
什么是数据结构和算法分析?在编程里起到什么作用?
查看完整描述

3 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

什么是数据结构和算法?

数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中,算法就是操作数据的方法。

数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。 因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。

在编程中的作用?

刚开始学习编程时有一种误解,会编程就行,研究什么数据结构啊?数据结构与算法能够帮你如何快速把现实问题转化为计算机语言。到底该怎么转化?《数据结构》已经给出了指引:设计出数据结构,在施加以算法就行了,当然现实问题会更复杂,需要框架,类库,模式等支撑,具体的知识可以去小码哥李明杰了解。

这是一种非常重要的逻辑思维能力的锻炼,也是程序员入门的条件。很多半路出家的人, 仅仅上了个培训班后参加工作,写出的代码实在是惨不忍睹,很明显只掌握了工具,逻辑思维的训练远远不足。

总结一下,学习完数据结构其实会潜移默化的影响你的逻辑思维,当然,你需要多多练习才有可能使用纯熟,等它变成身体一部分以后,你就发现其实大部分编程任务都没什么难度了,更难的其实是对编程更高的要求:抽象的能力。

查看完整回答
反对 回复 2019-11-24
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

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

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

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

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


查看完整回答
反对 回复 2019-11-24
  • 3 回答
  • 0 关注
  • 1610 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信