山西计算机得数据结构 迷宫算法和算法有什么关联?...

计算机得数据结构和算法有什么关联?学数据结构能做些什么?_百度知道
计算机得数据结构和算法有什么关联?学数据结构能做些什么?
提问者采纳
数据结构就像是转头,不倒就行举一个例子吧。如果说你只要盖一个棚子、窗户等,只要能垒起来,而算法是告诉你如何做,但是如果你要盖的是高楼。希望对你有用,才能把墙砌直了,转弯怎么砌啊等等吧,恐怕就必须要清除这些最为基本的东西了,或许你可以都不用管这些,不知道是否恰当好比盖房子
提问者评价
其他类似问题
数据结构的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁你说计算机算法和数据结构和数学关系挺大的?我怎么没感觉呢?数据结构和数学有什么关系呢,_百度知道
你说计算机算法和数据结构和数学关系挺大的?我怎么没感觉呢?数据结构和数学有什么关系呢,
科研方面解决科学问题,不是解了一道题就算了的话,基本可以当数学论文看、网络环境,一旦你考虑的多了,远远不是一句&quot,没有设计深入的学习和应用,而后分析应该用哪几种数据结构。而且;O(n)层次的时间复杂度&quot,涉及哪些算法,想总结一定的规律了,就能发现其实最靠谱的还是数学。一旦涉及建立模型就全是用数学的知识,入门时候所能学到的经典的初等算法比如KMP。就算不搞理论研究,最初提出的时候要有严格而且精确的数学证明才行,不就是很明显的数学范十足么。还比如NP完全问题证明,读起来非常晦涩主要是因为你学的比较基础,甚至要结合特定机器的操作系统,尤其涉及海量数据的时候。说实话,尤其是基本的数学原理,如果要得出可靠的结论就要应用复杂的数值分析知识才行,你会发现数学学不好的人很吃亏,必然是将实际问题建立数学模型、Kruskal都不是现在看到的这么简单;就可以了。比如、存储方式,实际应用中的算法分析。更深入的学习的话(尤其搞深入算法研究而不是做题)、Dijkstra
兄弟你是学什么的
我是学软件的,本来最初想考理论方面的研究生+直博来着,后来找到想报的导师,就、看了看他的论文和研究信息,直接放弃了。。。比想象的麻烦太多了。。。
其他类似问题
按默认排序
其他3条回答
至少如果你能用数学找到问题的答案,数学的逻辑思维和计算机的逻辑是相同的。数学解决问题思考问题的应该比计算机强大吧。另外,人类已经有几千年的经验了,离散数学啊,那么基本上可以将数学发那个发转换为计算机方法
图论吧。关于树的那个。
那不是离散数学么 我想知道和高中数学 高等数学 有关系么
与高数完全没有关系。。
同感 但是老师说跟离散数学很有关系
计算机算法的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁您还未登陆,请登录后操作!
数据结构学的到底是什么,和算法的关系
共有 1 位网友向您献上回答啦, 对答案满意?赶快给出你的好评,感谢他们吧!
本人乃一个数据痴迷者,在计算机的道路上,也是一个数据结构的痴迷者,现在大学里面和同学搞开发也痴迷于数据库,我就我个人的理解给你谈一谈:
首先,数据结构是一门计算机语言学的基础学科,它不属于任何一门语言,其体现的是几乎所有标准语言的算法的思想。
上面的概念有一些模糊,我们现在来具体说一说,相信你门的数据结构使用的是一门具体的语言比如C/C++语言来说明,那是为了辅助的学习数据结构,而数据结构本身不属于任何语言(相信你把书上的程序敲到电脑里面是不能通过的吧,其只是描述了过程,要调试程序,还需要修改和增加一些东西)。你们的书上开始应该在讲究数据的物理存储结构/逻辑存储结构等概念,说明数据结构首先就是“数据的结构”,在内存上的存储方式,就是物理的存储结构,在程序使用人员的思想上它是逻辑的,比如:
你们在C/C++中学习到链表,那么链表是什么一个概念,你们使用指针制向下一个结点的首地址,让他们串联起来,形成一个接一个的结点,就像显示生活中的火车一样。而这只是对于程序员的概念,但是在内存中存储的方式是怎样的那?对于你程序员来说这是“透明”的,其内部分配空间在那里
本人乃一个数据痴迷者,在计算机的道路上,也是一个数据结构的痴迷者,现在大学里面和同学搞开发也痴迷于数据库,我就我个人的理解给你谈一谈:
首先,数据结构是一门计算机语言学的基础学科,它不属于任何一门语言,其体现的是几乎所有标准语言的算法的思想。
上面的概念有一些模糊,我们现在来具体说一说,相信你门的数据结构使用的是一门具体的语言比如C/C++语言来说明,那是为了辅助的学习数据结构,而数据结构本身不属于任何语言(相信你把书上的程序敲到电脑里面是不能通过的吧,其只是描述了过程,要调试程序,还需要修改和增加一些东西)。你们的书上开始应该在讲究数据的物理存储结构/逻辑存储结构等概念,说明数据结构首先就是“数据的结构”,在内存上的存储方式,就是物理的存储结构,在程序使用人员的思想上它是逻辑的,比如:
你们在C/C++中学习到链表,那么链表是什么一个概念,你们使用指针制向下一个结点的首地址,让他们串联起来,形成一个接一个的结点,就像显示生活中的火车一样。而这只是对于程序员的概念,但是在内存中存储的方式是怎样的那?对于你程序员来说这是“透明”的,其内部分配空间在那里,都是随机的,而内存中也没有一个又一根的线将他们串联起来,所以,这是一个物理与逻辑的概念,对于我们程序员只需要知道这些就可以了,而我们主要要研究的是“逻辑结构”。
我可以给你一个我自己总结的一个概念:所有的算法必须基于数据结构生存。也就是说,我们对于任何算法的编写,必须依赖一个已经存在的数据结构来对它进行操作,数据结构成为算法的操作对象,这也是为什么算法和数据结构两门分类不分家的概念,算法在没有数据结构的情况下,没有任何存在的意义;而数据结构没有算法就等于是一个尸体而没有灵魂。估计这个对于算法的初学者可能有点晕,我们在具体的说一些东西吧:
我们在数据结构中最简单的是什么:我个人把书籍中线性表更加细化一层(这里是为了便于理解在这样说的):单个元素,比如:这个i就是一个数据结构,它是一个什么样的数据结构,就是一个类型为int的变量,我们可以对它进行加法/减法/乘法/除法/自加等等一系列操作,当然对于单个元素我们对它的数据结构和算法的研究没有什么意义,因为它本来就是原子的,某些具体运算上可能算法存在比较小的差异;而提升一个层次:就是我们的线性表(一般包含有:顺序表/链表)那么我们研究这样两种数据结构主要就是要研究它的什么东西那?一般我们主要研究他们以结构为单位(就是结点)的增加/删除/修改/检索(查询)四个操作(为什么有这样的操作,我在下面说到),我们一般把“增加/删除/修改”都把它称为更新,对于一个结点,若要进行更新一类的操作比如:删除,对于顺序表来说是使用下标访问方式,那么我们在删除了一个元素后需要将这个元素后的所有元素后的所有元素全部向前移动,这个时间是对于越长的顺序表,时间越长的,而对于链表,没有顺序的概念,其删除元素只需要将前一个结点的指针指向被删除点的下一个结点,将空间使用free()函数进行释放,还原给操作系统。当执行检索操作的时候,由于顺序表直接使用下标进行随机访问,而链表需要从头开始访问一一匹配才可以得到使用的元素,这个时间也是和链表的结点个数成正比的。所以我们每一种数据结构对于不同的算法会产生不同的效果,各自没有绝对的好,也没有绝对的不好,他们都有自己的应用价值和方式;这样我们就可以在实际的项目开发中,对于内部的算法时间和空间以及项目所能提供的硬件能力进行综合评估,以让自己的算法能够更加好。
(在这里只提到了基于数据结构的一个方面就是:速度,其实算法的要素还应该包括:稳定性、健壮性、正确性、有穷性、可理解性、有输入和输出等等)
为什么要以结点方式进行这些乱七八糟的操作那?首先明确一个概念就是:对于过程化程序设计语言所提供的都是一些基础第一信息,比如一些关键字/保留字/运算符/分界符。而我们需要用程序解决现实生活中的问题,比如我们要程序记录某公司人员的情况变化,那么人员这个数据类型,在程序设计语言中是没有的,那么我们需要对人员的内部信息定义(不可能完全,只是我们需要那些就定义那些),比如:年龄/性别/姓名/出生日期/民族/工作单位/职称/职务/工资状态等,那么就可以用一些C/C++语言描述了,如年龄我们就可以进行如下定义:
/*age变量,表示人员公司人员的年龄*/
同理进行其他的定义,我们用结构体或类把他们封装成自定义数据类型或类的形式,这样用他们定义的就是一个人的对象的了,它内部包含了很多的模板数据了。
我就我个人的经历估计的代码量应该10000以内的(我个人的经理:只是建议,从你的第一行代码开始算,不论程序正确与否,不论那一门语言,作为一个标准程序员需要十万行的代码的功底(这个是我在大学二年级感觉有一定时候的大致数据,不一定适合其他人),而十万行代码功底一般需要四门基础远支撑,若老师没有教,可以自学一些语言)。所以,我这里谈的一些问题是相对来说比较简单一些的,有很多数据结构的更加深奥的东西我在这里不没有提到。
大家还关注软件程序设计与训练第3章算法与数据结构_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
喜欢此文档的还喜欢
软件程序设计与训练第3章算法与数据结构
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:514.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢

我要回帖

更多关于 数据结构 迷宫算法 的文章

 

随机推荐