第4章计算机软件技术基础 算法与数据结构.pdf

第4章计算机软件技术基础 算法与数据结构.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机软件技术基础 第4章 算法与数据结构 本章简介 • 在编写计算机程序时,需要明确将要处理的数据对象和组 织方式,需要理解如何去处理这些数据才能得到理想的结 果,这时就会涉及算法和数据结构的问题。 • 数据结构描述了数据对象的组织方式,算法描述了处理这 些数据的详细过程,甚至有专家提出了程序等于算法加数 据结构的论断。 • 由此可以看出,在计算机软件技术领域中,描述程序的数 据和过程的算法与数据结构是非常重要的内容。 • 理解算法与数据结构的基本思想和方法,对于编写高性能 的程序有着重要的帮助。 • 本章将研究算法和数据结构的基本思想和典型方法。 本章提要 4.1 算法概述 4.2 递归法 4.3 搜索算法 4.4 排序算法 4.5 数据结构概述 4.6 集合 4.7 线性表 4.8 树 4.9 图 4.1 算法概述 4.1 算法概述 • 本节将从以下5个方面对算法进行概述。 • 首先,分析几个典型的算法示例情景; • 然后,给出算法的定义和基本特征; • 接下来,讨论算法的表示方法; • 第四,研究和分析评价算法优劣的方法; • 最后,讲述程序设计领域中的典型算法。 4.1.1 算法示例 • 在编写计算机程序时,研究和选择合理的 算法是一项非常重要的工作。 • 无论是数学领域的科学计算,还是管理领 域、工程领域的数据处理,都离不开对算 法的研究和应用。 • 下面,讨论几个典型的算法应用场景示 例。 4.1.2 算法的概念 • 一般地认为,算法(algorithm)是一系列有限的解决问题的 指令。也就是说,算法是指能够对一定的规范的输入,在 有限时间内获得所要求的输出。 • 算法也可以理解为是由规定的运算顺序所构成的完整的解 题步骤。 • 还有些专家认为,算法是一个有穷规则的集合,这些规则 规定了解决特定问题的运算序列。 • 被称为Pascal语言之父的瑞士计算机专家Niklaus Wirth 教授在1975出版的图书中,提出了“算法+数据结构=程 序”的著名论断,并且将该论断作为其图书的名称。由此 可见,算法与计算机程序关系的密切程度。 算法的基本特征 • 算法的5个基本特征: • 有穷性(finiteness)、 • 确定性(definiteness)、 • 输入(input)、 • 输出(output)和 • 可行性(effectiveness)。 4.1.3 算法的表示方式 • 表示算法的方式有多种,常用的方法包括 自然语言、流程图、程序设计语言、形式 化方法等。 • 不同的表示方法有不同的特点和作用。 自然语言 • 自然语言方式是指用普通语言描述算法的方法。 • 例如,在求一元二次方程的根时,就可以使用这 种表示方式:“一元二次方程的根的计算公式是, 在a不等于0的情况下,分子是负b加减b的平方减 去4ac 的平方根,分母是2a 。” • 自然语言方式的优点是简单、方便,适合描述简 单的算法或算法的高层思想。 • 但是,该方式的主要问题是冗长、语义容易模 糊,很难准确地描述复杂的、技术性强的算法。 流程图 • 流程图是一种用于表示算法或过程 的图形。在流程图中,使用各种符 号表示算法或过程的每一个步骤, 使用箭头符号将这些步骤按照顺序 连接起来。 • 使用流程图表示算法可以避免自然 语言的模糊缺陷,且依然独立于任 何一种特殊的程序设计语言。 • 流程图的使用人员包括分析人员、 设计人员、管理人员、工程师、编 程人员等。 • 如图4-1所示是一个典型的流程图 示例,该图描述了计算前N项整数 之和的算法流程。 一般流程图 • 流程图有多种类型,

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档