- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
知识点: 练习题: 模拟题: 本课程的主要研究内容 什么是数据结构 算法及其复杂性的概念 算法的表达与数据表示 抽象数据类型 数据结构的主要研究内容 数据(data) 数据是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中,被计算机程序识别和处理的符号的集合。 数值性数据 非数值性数据 数据元素 (data element) 数据的基本单位。在计算机程序中常作为一个整体进行考虑和处理。 一个数据元素可以由若干数据项(Data Item)组成。数据项是具有独立含义的最小标识单位。 数据元素又称为元素、结点、记录。 数据对象 (data object) 数据对象是具有相同性质的数据元素的集合。 整数数据对象 N = { 0, ?1, ?2, … } 学生数据对象 什么是数据结构 数据结构是数据的存在(组织)形式 数据元素间的逻辑关系,即数据的逻辑结构; 数据元素及其关系在计算机存储内的表示,即数据的存储(机内)表示; 数据的运算,即对数据元素施加的操作。 数据的逻辑结构 数据的逻辑结构从逻辑关系上描述数据,与数据的存储无关; 数据的逻辑结构可以看作是从具体问题抽象出来的数据模型; 数据的逻辑结构与数据元素本身的形式、内容无关; 数据的逻辑结构与数据元素的相对存储位置无关。 数据的逻辑结构分类 线性结构 线性表 非线性结构 多维数组 广义表 树 图(或网络) 线性结构 堆结构 数据的存储结构 数据的存储结构是逻辑结构用计算机语言的实现; 数据的存储结构依赖于计算机语言。 顺序存储表示 链接存储表示 索引存储表示 散列存储表示 算法的概念 算法的定义:由若干条指令组成的一个有穷序列,这些指令为解决某一特定任务规定了一个运算序列 特性: 输入 有0个或多个输入 输出 有一个或多个输出(处理结果) 确定性 每步定义都是确切、无歧义的 有穷性 算法应在执行有穷步后结束 程序与算法的区别 程序可以不满足有穷性。 算法的性能标准 正确性:要求算法能够正确地执行预先规定的功能和性能要求。这是最重要的标准,这要求算法的编写者对问题有正确的理解,并正确地、无歧义地描述和利用某种编程语言正确地实现对算法的要求。 可使用性:要求算法能够方便的使用。这个特性也叫用户友好性。为了便于用户使用,要求该算法具有良好的界面,完备的用户文档。因此,算法的设计必须符合抽象数据类型和模块化的要求,最好所有的输入和输出数据都通过参数表显式地传递,少用变量或全局变量,每个算法只完成一个功能。 算法的性能标准 可读性:算法应当是可读的。这是理解、测试和修改算法的需要。为了达到这一要求,算法的逻辑必须是清晰的、简单的和结构化的。所有的变量名、函数名的命名必须有实际含义、让人见名知义。在算法中必须加入注释,简要说明算法的功能、输入与输出参数的使用规则、重要数据的作用、算法中各程序段完成的功能等。 效率:算法的效率是指算法执行时计算机资源的消耗。 算法的性能标准 健壮性:要求在算法中加入对输入参数、打开文件、读文件记录、子程序调用状态进行自动检错、报错并通过与用户对话来纠错的功能,也叫容错性或例外处理。一个完整的算法必须具有健壮性,能够对不合理的数据进行检查。 算法复杂性的概念 算法的复杂性:是运行算法所需要的计算机资源的量。 时间复杂性:需要的时间资源的量。 空间复杂性:需要的空间资源的量。 算法复杂性分析的目的是评价算法的效率,对算法的设计或选用具有重要的指导义意和实用价值。 算法复杂性的度量 度量算法复杂性的量应能集中反映算法的效率, 而从运行该算法的实际计算机中抽象出来。即这个量只依赖算法要解决问题的规模和算法的输入函数。 设:n - 问题规模; I - 输入函数 C -算法复杂性, 应表示为C(n, I)。 T(n, I) – 时间复杂性 S(n,I) – 空间复杂性 算法复杂性的度量 根据T(n, I) 的概念, 它是表示算法在一台抽象的计算机上运行所需的时间。 设抽象的计算机所提供的元运算有k种,分别记为O1,O2,···,Ok。又设执行一次元运算所需的时间为t1,t2,···,tk。对于给定的算法A,用到的元运算Oi的次数为ei, i=1,2, ···,k。 则ei是n和I的函数,即ei= ei (n,I)。 算法复杂性的度量 最好情况下的时间复杂性 算法复杂性的度量 最坏情况下的时间复杂性 算法复杂性的度量 平均情况下的时间复杂性 算法复杂性的度量(事例) 例: 设变量a、b、c、d中各含一个整数。求a、b、c中的最大值与d的乘积。 算法复
您可能关注的文档
- 烟气脱硫技术介绍.ppt
- 型钢十字柱制作工艺.doc
- 中医学的学科属性.ppt
- 党的群众路线教育实践党课讲稿.ppt
- 第八讲对外直接投资的经济学分析.ppt
- 生命体征测量 .ppt
- 呼吸机相关性肺炎-邱海波.ppt
- 会计继续教育--企业内控--企业内部控制规范的实施.ppt
- 模块七:产品成本计算的分批法AA.ppt
- 第二章管理者Manager10秋.ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)