- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 绪论 主要内容:数据结构的定义;数据结构研究的范围;研究数据结构采用的方法;算法描述的工具;算法性能的评价。 教学目的:使学生掌握数据结构中涉及的基本概念,为以后各章的学习打好基础。 重点:数据结构的定义;算法描述的工具;算法性能的评价; 难点:算法性能的评价; 学时:4学时。 1.1 什么是数据结构(定义) 用计算机解决一个具体问题时,需要经过下列步骤: 具体问题→ 抽象数学模型→设计算法→编制程序→上机调试→结果 寻求数学模型的实质是分析问题,从中提取操作的对象并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。 例1-1:图书馆书目检索系统自动化问题。 图书信息:登录号,书名,作者,分类号,出版社,…… 建立相应的索引表,如:按书名、作者、分类号索引表 其中:登录号为主关键字。 “图”是某些非数值计算的数学模型,是一种数据结构。 在图型数据结构中计算机处理对象之间存在着多对多的关系 数据结构是一门研究非数值计算的程序设计问题中计算机的操作 对象以及它们之间的关系和操作的学科。 for语句的一般形式为 for(表达式1;表达式2;表达式3) 语句 执行过程如下: (1) 先求解表达式1; (2) 求解表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第(3)步。若为假(值为0),则结束循环,转到第(5)步; (3) 求解表达式3; (4) 转回上面第(2)步骤继续执行; (5) 循环结束,执行for语句下面的一个语句。 for语句的执行过程如图1.6所示 数据结构的内容可归纳为三个部分: 逻辑结构、存储结构和运算集合。 按某种逻辑关系组织起来的一批数据,按一定的映象方式把它存放在计算机的存储器中,并在这些数据上定义了一个运算的集合,就叫做数据结构。 数据结构是一门主要研究怎样合理地组织数据、建立合适的数据结构、提高计算机执行程序所用的时空效率的学科。数据结构课程不仅讲授数据信息在计算机中的组织和表示方法,同时也训练高效地解决复杂问题的能力。 1.3 算法 1.算法(Algorithm)的定义 Algorithm is a finite set of rules which gives a sequence of operation for solving a specific type of problem. (算法是规则的有限集合,是为解决特定问题而规定的一系列操作。) 2. 算法的特性 (1)有限性:有限步骤之内正常结束,不能形成无穷循环。 (2)确定性:算法中的每一个步骤必须有确定含义,无二义性。 (3)输 入:有多个或0个输入。 (4)输 出:至少有一个或多个输出。 (5)可行性:原则上能精确进行,操作可通过已实现的基本运算执行有限次而完成。在算法的五大特性中,最基本的是有限性、确定性和可行性。 3. 算法设计的要求 1)算法的正确性 (1)所设计的程序没有语法错误; (2)所设计的程序对于几组输入数据能够得出满足要求的结果; (3)所设计的程序对于精心选择的典型、苛刻而带有刁难性的几组输入数据能够得到满足要求的结果。 (4)程序对于一切合法的输入数据都能产生满足要求的结果。 例如:要求n个数的最大值问题,给出示意算法如下: max=0; for(i=1; i=n; i++) { scanf(″%f″, x); if (xmax) max=x; } 此算法无语法错误,大家考虑,如果输入的数全为负数时,会产生什么结果。 2)可读性 好的算法首先应该便于人们理解和相互交流,其次才是机器可执行。可读性好的算法有助于人对算法的理解,反之难懂的算法易于隐藏错误且难于调试和修改。 3)健壮性 做为一个好的算法,当输入的数据非法时,也能适当地做出正确反应或进行相应的处理,而不会产生一些莫名其妙的输出结果。 4)高效率和低存储量 算法的效率通常是指算法的执行时间。解决一个具体的问题通常可以有多个算法,对于执行时间短的算法其效率就高。所谓的存储量需求是算法在执行过程中所需要的最大存储空间,这两者都与问题的规模有关。 1.4 算法描述的工具 1.算法、
您可能关注的文档
最近下载
- TCQAE.32025信息技术生僻字处理第3部分服务机构要求.pdf
- 医学影像检查技术学教案(本科).doc
- TCQAE.22025信息技术生僻字处理第2部分业务系统要求.pdf
- TCQAE.12025信息技术生僻字处理第1部分软件产品要求.pdf
- 《信息技术 生僻字处理要求 第 3 部分:服务机构》.PDF
- 《信息技术 生僻字处理要求 第 2 部分:业务系统》.PDF
- 国际结算(史燕平)第三章 国际结算方式--汇款方式与托收方式.ppt VIP
- 《信息技术 生僻字处理要求 第1部分:软件产品》.PDF
- 2025年青岛版(2024)小学科学三年级上册(全册)教学设计(附目录P150).docx
- 国际结算中的票据.pptx
文档评论(0)