- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法基础计算机导论
计算机导论 黄国兴、陶树平、丁岳伟编著 计算机导论 ——软件部分 巢爱棠 atchao@yeah.net 办公室:1208 软件部分 第2章 计算机的基础知识(2.4~2.6) 第4章 计算机系统软件与工具软件 第5章 计算机应用软件(自学) 基本要求:理解程序设计、算法与数据结构的基本知识,注意养成良好的程序设计风格和习惯,为学习本书的以下各章和后续软件课程打好基础。 第2章 计算机的基础知识 程序设计基础 算法基础 数据结构基础 2.4 程序设计基础 程序设计语言 人与计算机交互的工具 3个发展阶段 结构化程序设计 结构化程序设计方法 3种基本结构 单入口单出口的控制成分 良好的程序设计风格 编写程序按照规范化方法进行 程序设计语言 机器语言:由计算机的指令系统组成,使用机器语言编写的程序计算机能够直接理解并执行,但编程和理解都十分的困难。 汇编语言:使用“助忆符”来表示指令的操作码,并使用存储单元或寄存器的名字表示地址码,以便于记忆和书写。 程序设计语言 高级程序设计语言:是一种与机器的指令系统无关、表达形式更接近于被描述的问题的程序设计语言,便于程序的编写。使用高级程序设计语言编写的程序称为源程序,它必须经过程序设计语言翻译系统的处理后才能执行。 面向过程程序设计语言 面向对象程序设计语言 结构化程序设计 程序设计 广义的程序设计 1、结构化程序设计方法 结构化程序设计 结构化程序设计 结构化程序设计 结构化程序设计 结构化程序设计 顺序结构例 结构化程序设计 分支结构例 结构化程序设计 循环结构例:我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。 3.单入口单出口的控制成分 良好的程序设计风格 编写程序必须按照规范化方法进行,应养成良好的程序设计风格 标识符:按意命名、保留字用大写字母、使用统一的缩写规则。 表达式:使用括号、使用库函数、条件化简 良好的程序设计风格 函数与过程:一个大型程序分解为多个模块,每个模块是一个函数或过程。 模块的独立性(高内聚、低耦合) 模块的规模(适中) 良好的程序设计风格 程序行的排列格式:排列格式美观、层次分明、使用统一的缩进格式,同一嵌套深度并列的语句对齐。 注释:添加必要的注释,以说明程序、过程和语句等的功能及注意事项。 2.5 算法基础 2.5 算法基础 2.5 算法基础 2.5 算法基础 2.5 算法基础 2.5 算法基础 2.5 算法基础 2.5 算法基础 算法设计举例2—— 欧几里德算法(Euclid’s Algorithm) 欧几里德算法(Euclid’s Algorithm) ——转辗相除法 该算法的步骤用文字表述如下: 第1步:读入两个正整数m和n(设mn) 第2步:求m和n的余数r=mod(m,n) 第3步:用n的值取代 m,用r的值取代n 第4步:判别r的值是否为零,如果r=0,则m为最大公因子;否则返回 第2步 第5步:输出m的值,即为最大公因子 2.5 算法基础 2.5 算法基础 用自然语言表示算法 2.5 算法基础 2.5 算法基础 2.5 算法基础 2.5 算法基础 void main() { int m,n,r; scanf(%d%d,m,n); r=m%n; while(r!=0) { m=n; n=r; r=m%n; } printf(\n the greatest common divisor is:%d,n); } 2.5 算法基础 怎样衡量算法的优劣 判断算法好坏的四个标准 正确性、易读性、健壮性、时空特性 算法的时空特性即 时间特性 空间特性 2.5 算法基础 算法的时间特性 是指依据算法编制成程序后在计算机中执行时所耗费的时间大小。 所耗费的时间取决于程序运行时输入的数据量、对源程序编译所需要的时间、执行每条指令所需的时间以及程序中语句重复执行的次数。 2.5 算法基础 算法的时间特性求解 计算算法中主要语句执行的次数——语句频度 用时间复杂度—T(n)表示 当问题规模n→∞时,算法执行时间增长率。 用大“O”表示法。记作T(n)=O(f(n))( f(n) :为语句频度之和的最高次项的数量级) 问题规模—n 算法求解问题的输入量 (或初始数据量)。 例如,某算法的语句频度为2n3+3n2+2n+1 则:T(n)=O(n3) 2.5 算法基础 算法的空间特性 讨论算法中除正常占用内存开销外的辅助存储单元规模。 用空间复杂度—S(n)表示 当问题规模n→∞时,
您可能关注的文档
- 自适应细分曲面算法及在快速成型数据处理中的应用.pdf
- 基于社团并行发现的在线社交网络蠕虫抑制-计算机学报.pdf
- 关键信息-广东政府采购网.doc
- 西北太平洋暖池区台风对海表盐度的影响-中国argo实时资料中心.pdf
- 抑制与指示遗忘线索时间与工作记忆的影响-宜兰大学.pdf
- 基于谐波有功功率贡献量的主谐波源定位-电力系统保护与控制.pdf
- 刀触点网格上整体光顺五轴数控加工刀轴方向的模型与算法.pdf
- matlab在天文底片数字化中的应用-上海天文台.pdf
- 时空效应分析环境科学研究.doc
- 平面激波经下降台阶后的马赫效应-计算物理.pdf
- 难点详解鲁教版(五四制)6年级数学下册期末测试卷带答案详解(考试直接用).docx
- 难点详解鲁教版(五四制)6年级数学下册期末试题【培优】附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题及完整答案详解(全国通用).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(名师系列).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解【全国通用】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(突破训练)附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(能力提升)附答案详解.docx
- 难点详解京改版数学9年级上册期中试卷附参考答案详解【突破训练】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(有一套).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷带答案详解(夺分金卷).docx
最近下载
- 减肥打卡社群运营.pdf
- 时间管理之四象限法则的运用PPT(59张)课件.pptx VIP
- Unit 5 Whose dog is it_ Part A Spell 课件人教版英语五年级下册.pptx
- 价值管理的信息系统开发.pptx VIP
- 装饰装修施工组织设计(完整版).pdf
- 模板专项施工方案(完整版).docx
- 《最后一片叶子》课件高教版中职语文基础模块上册.pptx
- 光合速率的测定方法讲课教案.ppt
- 电气控制与可编程控制技术课程设-三相六拍步进电机PLC控制系统的设计.docx VIP
- 2024-2025学年苏科版八年级物理下册 第9章 压强和浮力【速记清单】(解析版).pdf VIP
文档评论(0)