- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 算法设计基础 2.1 算法的描述 2.2 结构化算法设计初步 2.3 算法的计算复杂性 2.4 常用算法设计策略 2.1 算法的描述 2.1.1 自然语言方式 2.1.2 伪代码方式 2.1.3 程序流程图方式 2.1.4 N/S盒图方式 2.1.5 PAD图方式 2.1.1 自然语言方式 [例2.1] 算法描述示例,1.1.1中排序算法的自然语言描述。 2.1.3 程序流程图方式 算法由若干张流程图描述,每张流程图由结点和有向边构成,该图描述了算法中所进行的操作以及这些操作执行的逻辑顺序。 流程图的常用结点及控制结构描述如下 : 2.1.4 N/S盒图方式 2.1.5 PAD图方式 PAD图结点与控制结构描述 2.1.5 PAD图方式 算法2.2的PAD图描述 2.2 结构化算法设计初步 2.2.1 算法描述 2.2.2 算法设计 2.2.1 算法描述 1. 结构化算法的流程图 2.2.1 算法描述 1. 结构化算法的流程图 2.2.1 算法描述 2. 结构化算法的PAD图 2.2.2 算法设计 2.2.2 算法设计 1. 主体结构设计 2.2.2 算法设计 2. 顺序结构设计 2.2.2 算法设计 3. 选择结构设计------双分支结构 2.2.2 算法设计 3. 选择结构设计------多分支结构 2.2.2 算法设计 3. 选择结构设计------多分支结构 2.2.2 算法设计 3. 循环结构设计 2.3 算法的计算复杂性 基本概念 2.3 算法的计算复杂性 [例2.9] 分析算法时间复杂性:将一个字符串倒序。 2.4 常用算法设计策略 2.4.1 分治法 2.4.2 递归技术 2.4.3 贪心法* 2.4.4 回溯法* 2.4.1 分治法 二进制乘法: 2.4.1 分治法 分治法计算二进制数乘法 2.4.2 递归技术 一种以有限方式描述规模任意大问题的方法 * * 学习目的: ① 掌握算法的流程图和PAD图描述方式; ② 初步掌握结构化算法设计; ③ 能够进行简单的算法复杂性分析; ④ 初步了解分治与递归。 算法的描述方式很多,不同描述风格适用于不同场合,在面向对象技术出现之前,人们倾向于在算法的描述中对未来程序的层次结构进行一定程度的控制,而不仅仅是描述具体的数据处理过程。本节介绍算法的常见描述方法。 2.1.2 伪代码方式 预先规定了描述规则和关键词,以接近某程序设计语言的风格描述算法。同时具有易理解和趋于形式化的优点。 端点符 处理 判断 预定义功能 连接符 条件 处理1 处理2 选择结构 循环结构 或 是 条件 否 处理 do-while 条件 处理 否 是 repeat-until 处理1 处理2 顺序结构 结束 x=a[j] a[j]=a[k] a[k]=x 是{交换两个元素} 否 i != k k=j 是 否 a[j] a[k] for j=i+1 to n step 1 {查找第 i 个数据后面的最小元素} k=i for i=1 to n-1 step 1 读n个数到数组a[n] 开始 算法2.2的N/S盒图描述 b 选择结构 d 循环结构 c 多选择结构 a 顺序结构 P1 P2 C P1 P2 Pn L1 L2 X=… Ln P A 或 while c until c P1 P2 输入输出 重复 子算法 定义 选择 语句标号 处理 i != k k←i i←1;i=n-1;i←i+1 x←a[j];a[j] ←a[k];a[k] ←x j←1;j=n;j←j+1 k←j a[j]a[k] a[n] 算法开始 算法结束 将组成算法的多个操作按照不同的层次组织在一起,每一组代表一种复杂的相对独立的复合操作,各复合操作的内部亦可进行层次划分,从而形成整个算法的嵌套层次结构。 每一组操作具有惟一的入口和惟一的出口,即一端进一端出。这样的操作组置于其他操作中时,算法的执行顺序必定是从前一组操作的出口到本组操作的入口,经过本组内部的运算,到达本组操作的惟一出口。 各组之间利用顺序、选择和循环等三种控制结构在不同组之间进行连接,从而形成更高层次的算法结构。 结点与控制结构 功能结点 判定结点(分支结点) 连接结点 顺序结构 分支结构 循环结构 C B A c1 blk5 c2 true c4 true blk3 blk4 blk2 c3 true blk1 true ... do { if(c2) 则 if(c4)
您可能关注的文档
- 韩山师范学院大学语文课件 荒芜英雄路.ppt
- 韩山师范学院大学语文课件 蒋防《霍小玉传》《聊斋 小翠》.ppt
- 韩山师范学院大学语文课件 巴金《怀念萧珊》王小波《一只特 立独行的猪》.ppt
- 韩山师范学院大学语文课件 《王小波 一只特 立独行的猪》.ppt
- 海南师范大学中文系中国古代文学课件:6.明清小 说专题课堂教学演示文稿.ppt
- 韩山师范学院大学语文课件 金元明清词.ppt
- 韩山师范学院大学语文课件 金元明清诗.ppt
- 韩山师范学院大学语文课件 兰亭集序.ppt
- 韩山师范学院大学语文课件 老舍.ppt
- 韩山师范学院大学语文课件 李白《侠客行》.ppt
- 2009-重大-面向非常规突发事件预警的Web信息流监控和传播研究.pdf
- EDA软件:OrCAD二次开发_OrCAD版本兼容性开发.docx
- “星链”软件供应链安全建设方案.pptx
- 2011-面上-组织视角下的建筑业行为安全理论(BBS)及其在工程项目管理中的应用.pdf
- ENVI遥感实验:农业耕作与城市绿地变化监测-CSDN文库.docx
- 华工毕业终期答辩模板_内容多且包含应用_包含母版和主题色.pptx
- EDA软件:OrCAD二次开发_OrCAD脚本语言应用.docx
- 2007-面上-非营利组织市场导向及其组织绩效的研究.pdf
- EDA软件:OrCAD二次开发_OrCAD与外部程序接口.docx
- EDA软件:OrCAD二次开发_OrCAD二次开发最佳实践.docx
最近下载
- 2023年贵州毕节市金沙县面向全县考调机关事业单位招聘笔试参考题库附带答案详解.pdf VIP
- 松下 Panasonic AG-CX200MC中文说明书 用户手册 说明书下载 使用指南 如何使用 详细操作 使用说明.pdf
- 经销商返利协议.docx VIP
- 消防安全知识培训课件(2023必威体育精装版).pptx
- 2023—2024学年湖南省普通高中高一下学期学业水平合格性考试化学模拟试卷.doc VIP
- 一种MES管理系统及MES管理方法.pdf VIP
- JBT 13604-2018 氧化铝专用料浆阀.pdf
- 土地法学教学课件.ppt VIP
- 2024新版(人教版)七年级英语上、下册单词带音标.pdf VIP
- 2024年初级会计职称《初级会计实务》精讲课件 第1-5章.pptx
文档评论(0)