算法设计与数据结构区别.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法设计与数据结构区别

2009221104220061 彭斌 09软件工程数据结构跟算法设计的关系摘要:数据结构与算法设计是计算机专业的两门主要课程,两者之间关系密切,本文主要介绍数据结构跟算法设计的区别与联系,并举例予以说明两者之间的关联。关键词:数据结构 算法设计 联系 区别正文:数据结构及其主要研究内容:计算机是进行数据处理的工具,数据结构主要研究数据的各种组织形式以及建立在这些结构之上的各种算法的实现,它不仅为计算机语言进行程序设计提供了方法性的理论指导,还在更高的层次上总结了程序设计的常用方法和常用讨巧。数据结构是指数据以及相互之间的联系,可以看作是相互之间存在着的某种特定关系的数据元素的集合。一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。   在许多类型程度的设计中,数据结构的选择是一个基本的设计考虑因素。许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键元素。这种洞见导致了许多种软件设计方法和程序设计语言的出现,面向对象的设计语言就是其中之一。在计算机科学中,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。算法设计及其主要研究内容:算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程。当面临某个问题时,需要找到用计解决这个问题的方法和步骤,算法就是解决这个问题的方法和步骤的描述。算法具有有穷性、确定性、可行性、算法有一个或多个的输出、算法有零个或多个的输入。对于算法的设计有以下的质量指标:一是正确性、二是可读性、三是稳健性、四是高效性与低存储需求。算法是计算机学科中是最具有方法性质的核心概念,被誉为计算机科学的灵魂。算法有三个主要方面:操作、控制结构、数据结构。同一个问题可用不同的算法来解决。而一个算法的优劣将影响到程序的效率。算法分析的目的在于选择合适的算法和改进算法。一个算法的评价主要有以下来评价:时间复杂度空间复杂度相比而言,现代计算机更多的考虑时间复杂度的问题。因为计算机的存储空间已经相对而言比较容易满足。算法与数据结构相同之处:程序=算法+数据结构,这说明程序设计的实质就是对确定问题选择一种合适的数据结构跟一种合理的算法。数据结构是基础,而算法设计总是要依赖数据结构来实现的。算法的设计取决于数据的逻辑结构,而算法的实现依赖于采用的存储结构。算法设计的实质就是对实际的问题采用一种最合理的数据结构,并在此数据结构的基础上找到一个好的算法来实现。采用不同的数据结构,所得到的效果可能会相差甚远。算法与数据结构不同之处:数据结构着重于数据之间的联系,而不在于实现的过程,而算法设计则不同,它不公要考虑数据之间的联系,还要分析问题实现的过程,并要分析出最优的算法实现,以及算法效率,空间利用率。可以这么说,算法是编程的思想,而数据结构则是实现的逻辑基础。五、举例说明:我们以一个学生的相关信息为例,如果要实现将一个学生相关信息进行保存,以最简单的方法可如下实现:Char sname[10];Int sid;Char ssex;Int grade;然后我们进行scanf操作对相关数据进行赋值,这种数据结构可行,但是在操作的过程中,却极有可能会忘掉某个数据的输入或者输出,但是却并不好。如果我们定义一个学生类来进行相关操作,不仅可以实现上述赋值功能,而且还可以通过结构体这种数据结构本身的属性在编程时具有的一定来纠错能力来检测是否会输入出错:Sruct stud{Char name[20];Int id;Char sex;Int grade;}这只是一个小例子,但是却可以看出数据结构对一个程序的巨大影响。我们在平常的程序设计中,应该培养自己良好的程序设计习惯,尽量采用优秀的算法来实现我们需要的功能。这样将会对程序设计带来极好的结果。参考资料:《c语言程序设计谭浩强第三版》清华大学出版社《数据结构教程第三版》李春葆等著清华大学出版社《算法设计与分析第二版》吕国英主编清华大学出版社出版《计算机算法设计与分析第三版》王晓东编著电子工业出版社/view/9900.htm数据结构有关内容/view/2586007.htm算法设计有关

文档评论(0)

liangyuehong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档