- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法与数据结构的关系
摘要:何为数据;算法分析研究的内容;数据结构研究的内容;算法与数据结构的联系与区别;数据结构的选择对算法效率的影响。
关键词:算法、数据结构、程序
正文:
数据结构研究的内容:
为了了解什么是数据结构先必须明白数据的概念。数据是人们利用文字符号、数字符号以及其他规定的符号对现实世界的事物及其活动所做的抽象描述。例如,日常生活中使用的各种文字、数字、和特定的符号都是数据。从计算机的角度来看,数据是所有能被输入到计算机中,且能被计算机处理的符号的集合。他是计算机处理信息的某种特定的符号表示形式。计算机解决问题的实质是对数据进行加工处理。另外,数据元素是数据(集合)中的一个“个体”,是数据的基本单位。
数据结构是指数据以及相互之间的关系,可以看做是相互之间存在的某种特定关系的数据元素的集合,因此,可以吧数据结构看成是带结构的数据元素的集合。数据结构研究的内容可以包含以下几个方面:
数据元素之间的逻辑关系,即数据的逻辑结构;
数据元素及其关系在计算机存储其中的存储方式,即数据的存储结构,也称为数据的物理结构;
施加在该数据结构上的操作,即数据运算。
常见的数据逻辑结构包括:集合、线性结构、树形结构、图形结构等。常见的数据存储结构包括:顺序存储结构、链式存储结构、索引存储结构、哈希存储结构(也叫散列存储结构)。
算法分析研究的内容:
算法是指在解决问题时按照某种机械步骤一定可以得到问题的结果(有解时给出解,无解时给出无解的结论)的处理过程。简言之,算法就是计算机解决问题的步骤。当面临某个问题时,需要找到用计算机解决这个问题的方法和步骤,算法就是解决这个问题的方法和步骤的描述。所谓机械步骤是指,算法中有待执行的运算和操作,必须是相当基本的。换言之,他们都是能够精确地被计算机运行的算法,计算机甚至不需要掌握算法的含义,即可根据该算法的每一步骤要求,进行操作并最终得出正确的结果。算法由操作、控制结构、数据结构3要素构成。
算法分析的主要任务是对设计出的每一个具体的算法,利用数学工具,讨论其复杂度。对算法的分析一方面能深刻地理解问题的本质以及可能的求解技术,另一方面可以探讨某种具体算法实用于哪类问题,或某类问题宜采用哪种算法。算法分析就是研究算法从而达到优化计算机解决问题的效率的目的。
对算法的分析和评价,一般应考虑正确性、可维护性、可读性、运算量、占用存储空间等诸多因素。其中评价算法的3条主要标准是:
算法实现所耗费的时间;
算法实现所好费的存储空间,其中主要考虑辅助存储空间;
算法应易于理解,易于编码,易于调试等。
其中时间复杂度是评价算法优劣的一条最重要的标准。
数据结构与算法的联系:
算法与数据结构关系密切。两者既有联系又有区别,下面就这两个方面进行分别讨论。
(1)数据结构与算法的联系:
程序=算法+数据结构。数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现的。往往是在发展一种算法的时候,构建了适合于这种算法的数据结构。
算法的操作对象是数据结构。算法的设计和选择要同时结合数据结构,简单地说数据结构的设计就是选择存储方式,如确定问题中的信息是用数组存储还是用普通的变量存储或其他更加复杂的数据结构。算法设计的实质就是对实际问题要处理的数据选择一种恰当的存储结构,并在选定的存储结构上设计一个好的算法。不同的数据结构的设计将导致差异很大的算法。数据结构是算法设计的基础。用一个形象的比喻来解释:开采煤矿过程中,煤矿以各种形式深埋于地下。矿体的结构就像相当于计算机领域的数据结构,而煤就相当于一个个数据元素。开采煤矿然后运输、加工这些“操作”技术就相当于算法。显然,如何开采,如何运输必须考虑到煤矿的存储(物理)结构,只拥有开采技术而没有煤矿是没有任何意义的。算法设计必须考虑到数据结构,算法设计是不可能独立于数据结构的。
另外,数据结构的设计和选择需要为算法服务。如果某种数据结构不利于算法实现它将没有太大的实际意义。知道某种数据结构的典型操作才能设计出好的算法。
总之,算法的设计同时伴有数据结构的设计,两者都是为最终解决问题服务的。
(2)数据结构与算法的区别:
数据结构关注的是数据的逻辑结构、存储结构以及基本操作,而算法更多的是关注如何在数据结构的基础上解决实际问题。算法是编程思想,数据结构则是这些思想的逻辑基础。
数据结构与算法的关系举例:
例如:有若干学生数据,每个学生数据包括学号(学生编号唯一)、姓名、班号和若干门课程成绩(每个学生所选的科目数可能不同,假设最多6们),要求设计一个程序输出每个学生的学号、姓名、平均分以及每门课的平均分。
现在有三种数据存储方案。
方案一 将学生的全部数据项放在一个表中,一个学生的全部数据对应一条记录。由于课程最多可选6们,对应的成绩也应有6个。对应的数据结构如下:
Stru
您可能关注的文档
最近下载
- 04重载交通水泥路面设计.doc
- 年产12万吨苯乙烯精制工艺设计.docx
- 电工基础知识(全面)课件课件(完整版)160页.pptx VIP
- 装配式建筑在装配式港口码头中的应用与优化,2025年行业展望报告.docx
- 《新媒体文案创作与传播(第2版微课版)》全套教学课件.pptx
- 课题申报参考:中华优秀传统家文化融入大学生积极心理品质培育路径研究.docx VIP
- 2024年中国第三方支付行业研究报告.pdf
- 水产动物疾病学3免疫学.ppt
- 课题申报参考:中华优秀传统医德文化融入医药院校“思想道德与法治”课教学研究.docx VIP
- (高清版)DB32∕T 5040-2025 家用电梯智能化要求及验收规范.pdf VIP
原创力文档


文档评论(0)