- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
算法分析与设计刘恒MAIL:NOZA.LIU@QQ.COM课程介绍40学时,2.5学分教材《算法设计与分析》(第二版)王晓东著清华大学出版社课程安排教学会出现书本以外的知识作业一些特殊的算法设计和分析讨论算法赏析考试每个人会有自己的考题主要内容介绍近似算法处理难解问题的策略随机算法问题处理策略NP完全理论计算复杂性理论算法分析与问题的计算复杂性算法分析方法分治策略动态规划贪心算法回溯与分支限界算法设计技术基础知识数学基础、数据结构CHAP1算法引论主要内容算法与程序表达算法的抽象机制描述算法算法复杂性分析1.1 算法与程序算法:是满足以下性质的指令序列输入:有零个或多个外部量作为算法的输入。输出:算法产生至少一个量作为输出。确定性:组成算法的每条指令清晰、无歧义。有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限。程序:是算法用某种程序设计语言的具体实现,程序可以不满足算法有限性的特点。1.2 表达算法的抽象机制语言的抽象:从机器语言到高级语言的抽象为什么选择高级程序语言高级语言更接近算法语言,易学、易掌握,一般工程技术人员只需要几周时间的培训就可以胜任程序员的工作高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高高级语言不依赖于机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可植性好、重用率高把繁杂琐碎的事务交给编译程序,所以自动化程度高,开发周期短,程序员可以集中时间和精力从事更重要的创造性劳动,提高程序质量1.2 表达算法的抽象机制数据的抽象:抽象数据类型是算法的一个数据模型连同定义在该模型上并作为算法构件的一组运算好处(1)算法顶层设计与底层实现分离;(2)算法设计与数据结构设计隔开,允许数据结构自由选择;(3)数据模型和该模型上的运算统一在ADT中,便于空间和时间耗费的折衷;(4)用抽象数据类型表述的算法具有很好的可维护性;(5)算法自然呈现模块化;(6)为自顶向下逐步求精和模块化提供有效途径和工具;(7)算法结构清晰,层次分明,便于算法正确性的证明和复杂性的分析。1.3描述算法——伪码伪码描述赋值语句:?分支语句:if…then…[else…]循环语句:while,for,repeatuntil转向语句:goto输出语句:return调用:直接写过程的名字注释://…1.3描述算法——伪码实例:求最大公约数Euclid(m,n)输入:非负整数m,n,其中m与n不全为0输出:m与n的最大公约数1.whilem0do2.r?nmodm3.n?m4.m?r5.returnn辗转相除法辗转相除法是古希腊求两个正整数的最大公约数的,也叫欧几里德算法,其方法是用较大的数除以较小的数,上面较小的除数和得出的余数构成新的一对数,继续做上面的除法,直到出现能够整除的两个数,其中较小的数(即除数)就是最大公约数。以求288和123的最大公约数为例,操作如下:288÷123=2余42123÷42=2余3942÷39=1余339÷3=13所以3就是288和123的最大公约数back1.3描述算法——伪码实例:改进的顺序检索Search(L,x)输入:数组L[1..n],其元素按照从小到大排列,数x.输出:若x在L中,输出x的位置下标j;否则输出0.1.j?12.whilej?nandxL[j]doj?j+13.ifxL[j]orjnthenj?04.returnj1.3描述算法在本书中,采用Java语言描述算法。Java语言的若干重要特性(1)Java程序结构Java程序的两种类型:应用程序和applet区别:应用程序的主方法为main,其可在命令行中用命令语句java应用程序名来执行;applet的主方法为init,其必须嵌入HTML文件,由Web浏览器或applet阅读器来执行。包:java程序和类可以包(packages)的形式组织管理。import语句:在java程序中可用import语句加载所需的包。例如,importjava.io.*;语句加载java.io包。基本数据类型:详见下页表1-1数据类型非基本数据类型:如Byte,Integer,Boolean,String等。对基本数据类型:在声明一个具有基本数据类型的变量时,自 动建立该数据类型的对象(或称实例)。如:intk;对非基本数据类型:语句Strings;并不建立具有数据类型 String的对象,而是建立一个类型String的引用对象, 数据类型为String的对象可用下面的new语句建立。1.3
您可能关注的文档
- 模式识别与机器学习.pptx
- 乌骓别霸王(朗诵背景).ppt
- 花卉品质的改良.pptx
- 第10章-软件产品线体系结构.ppt
- a2.1(2霍尔三维结构模型).ppt
- 3.1-细胞膜的结构和功能.pptx
- 11-第05章-3-基因组编辑1.pptx
- 高一化学乙烯和苯.ppt
- 圆锥曲线过定点问题.pptx
- 场内基金的套利策略.pptx
- DB5105_T 72-2024 古蔺甜橙 生产技术规程.docx
- DB52∕T 1504-2020 传统村落火灾防控规范.docx
- T_CIECCPA 022-2024 磷酸铁锂退役电池梯次应用技术要求和检验方法.docx
- T_HBIQA 0005-2024 人体血液中5种雷帕霉素靶蛋白类抑制剂药物含量的测定 高效液相色谱-串联质谱法.docx
- T_GXAS 511-2023 灭火器维修企业从业能力基本要求.docx
- T_WD 120-2024 T_CAS 865-2024 质量分级及“领跑者”评价要求 通用仓储服务.docx
- T_ZJZYC 017-2024 山药定向绿色栽培技术规程.docx
- T_GXAS 517-2023 广西科技计划项目跟踪调查规范.docx
- DB3502_T 117.2-2023 国际贸易单一窗口数据开放服务 第2部分:报关服务数据元.docx
- DB41∕T 1637-2018 自动扶梯和自动人行道相邻区域防坠落安全规范.docx
最近下载
- JT/T 533-2020 沥青路面用纤维.pdf VIP
- 提高下肢手术患者术后功能锻炼的正确执行率.pptx VIP
- 《2023年浙江省高职院校教学能力比赛方案》.pdf VIP
- 2025年浙江省温州市瑞安市中考数学一模模拟考试试卷(含答案).docx VIP
- 部编版三年级上册道德与法治全册一课一练(含答案)+期中、期末试卷.pdf VIP
- 2025至2030丙二醇单甲醚(PGME)行业调研及市场前景预测评估报告.docx VIP
- 复习资料11743企业组织与经营环境总复习资料(重点).pdf VIP
- 华为云AI视频技术白皮书.docx
- 新外研版六年级英语上册Module 8 Unit 1 Do you often play with dolls. 教案l.doc VIP
- 河北省张家口市宣化区2024年七年级上学期期中数学试题(冀教版)【附答案】.docx VIP
文档评论(0)