㈠ 数据结构和算法为什么这么重要
算法都是从生活里得到的,生活里用的很自如,应用到程序里一样会很方便。
比如最简单的,中国有那么多省,每个省有那么多市,每个市有那么多区县之类的,看到一个小地方,怎么才能知道它在哪,很明显,去看它在哪个区,哪个市,哪个省。
这就是树的作用,从子节点通过父节点去确定它的位置。这个同样应用在文件管理,还有特殊的比如要求设计个数据库,能够体现部门,小组的包含关系,很简单,在小组里面加个父节点的字段就可以了。
再比如查字典,给了一个字,怎么才能查到它?通过读音,知道它的首字母,就很容易的去从首字母找到它。如果字典是乱的,就完全无从下手,这就是hash算法的东西,通过能够区分出来的特征,缩小查找范围,加快查找效率。
同样的很多,都是可以用到程序里的,很容易理解
㈡ 什么是数据结构和算法分析在编程里起到什么作用
编程是为了解决问题,这些问题并表都是数值计算,其所处理的数据并不都是数值,但计算机所能处理的最终是0和1的二进制串,所以需要把问题中的数据用计算机能处理的方式来表示,这就需要数据结构。
简单的说,数据结构是数据在计算机中的表示方式,有逻辑结构和物理结构之分,如逻辑上同样的队列,物理上可以是顺序存储,也可以是链式存储。
通俗的讲,算法就是解决问题的方法,比如同样的排序,可以用冒泡排序、插入排序等,不同的算法可以达到相同的目标,但是效率可能有所不同。
㈢ 什么是数据结构和算法学算法还需要去了解数据结构吗
你这理解不完全正确。
因为数据结构不只是内存中数据的排列,它是对数据的一种组织方式,就像图书馆要排书一样,是为了便于操作,同时它本身也集成了对通用操作:比如查找、比较等的支持。数组不是一种数据结构,而是一种数据类型。一个完整的数据结构包括逻辑结构和存储结构。通常选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素。
因此在语言实现上,数据结构通常也会包含与之相对应的算法集合,这些算法是指基本算法:查找、索引、比较等。
数据结构的逻辑结构和硬件是没有关系的,而其存储结构受到计算机硬件系统工作方式的影响,通常这点影响在于数据时顺序存储还是离散存储。算法的基础是数据结构。只有指定明确的数据结构,算法才能设计完成,脱离数据结构,算法是无法,也不可能成立的。因为不需要数据的算法就不是一个有效的计算机算法,算法中任何对数据的组织形式都可以被称之为数据结构。
2.数据结构在编程中的地位是极其重要的,是一个程序实现的基础中的基础,在此基础上才能构建算法。通常而言,你不了解什么高深的算法,一样能完成工作,但是如果你不了解基本的数据结构,那么可以说,你根本就不能完成一个任何有实质性内容的程序。Donald Ervin Knuth教授在其《计算机程序设计艺术》的第一卷《基本算法》中花费的绝大部分的篇幅去论述数据结构。由此可见数据结构对算法的重要性。
㈣ 数据结构与算法在计算机领域或行业之中到底占据着什么样的重要地位
算法是程序的灵魂,架构是灵魂的躯体,最近对这两句话感触很深,但很多程序员甚至忽略算法存在,更不要说是架构层面的东西,有些程序员甚至有些疑问,做编程也有几年了碰到关于算法的东西实在是很少。
在学习算法之前首先要掌握数据结构,因为数据结构里面很多基础,像队列,栈,链表,二叉树这些都是算法基础,因为再复杂的算法也是基础的东西组合起来的,复杂的算法涉及到数学知识了,所以专业的算法工程师需要具备良好的数学底子。但数据结构更多是用在功能模块里面编程模型的设计上,有些程序员在设计模块功能的时候。