- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法引论
算法设计与分析(ACM/ICPC程序设计方法论) 广东江门五邑大学信息学院 高宏宾 主要内容介绍 第1章 算法引论 第2章 递归与分治策略 第3章 动态规划 第4章 贪心算法 第5章 回溯法 第6章 分支限界法 第7章 概率算法 第8章 NP完全性理论 第9章 近似算法 第10章 算法优化策略 第1章 算法引论 1.1 算法与程序 算法设计实例 例1. 按递增次序生成M的最小的n个元素,M定义为: ⑴ 1 ∈ M ⑵ x∈M, 则 y=2x+1 ∈ M∧y=3x+ 1 ∈ M #include stdio #define s 100 main() { int n,p2,p3,i,m[s]; m[1]=p2=p3=1; scanf(’’%d’’,n); for(i=2;i=n;i++) if(2*m[p2]==3*m[p3]) { m[i]=2*m[p2]+1; p2++; p3++; } else if(2*m[p2]3*m[p3]) { m[i]=2*m[p2]+1; p2++;} else { m[i]=3*m[p3]+1; p3++; } printf(’’\n’’); for(i=1;i=n;i++) { printf(’’%4d’’,m[i]); if(!(i%10) printf(’’\n’’); } } 例5. 幻方阵的生成 2. 算法设计方法与实践 递归方法 分治方法 动态规划方法 贪心方法 回溯方法 分支限界方法 概率方法 NP完全性 近似方法 算法优化方法 3. 算法的概念 算法是为解决某个特定问题而设计的由一些命令组成的序列,该序列具备5大特征: 1.有穷性 算法中命令的个数是有限的;每个命令 的执行时间是有限的。 2.确定性 算法中每个命令的含义是确切的。 3.有效性 算法中每个命令是可行的。 4.输入 算法需要从外界接受数据,且个数≧0。 5.输出 算法必须产生一组数据作为其结果,且 个数﹥0。 4. 简单算法举例 例6. 计算1×2×3×4×5的值。 推广:计算 ∏i (i=1,n) 的值。 分析:为了计算 1×2×… ×(i-1) × i ×(i+1) ×… × n,我们不妨设 p= 1×2×… ×i 并称p为部分积。此时,对于当前的i,若做操作 i+1→i, 然后对部分积p做操作 p × i → p,则p的值顺增一个因子。因此,反复进行 i+1→i ;p × i → p;可使p逐渐接近计算目标。再考虑 p,i 的初始状态以及能够进行上述操作的条件,可以设计出如右所示算法: S0: 输入n; S1: 1 → p; S2: 0 → i; S3: i+1→i; S4: p × i → p; S5: if i n then goto S3; else output p; 要点:部分积的概念及其表示; 循环变量及其增量的确定; 进入循环的初始值的确定; 退出循环的条件。 类比:计算∑i (i=1,n)的值 S0: 输入n; S1: 0 → s; S2: 0 → i; S3: i+1→i; S4: s + i → s; S5: if i n then goto S3; else output s; 要点: 部分和的概念及其表示; 循环变量及其增量的确定; 进入循环的初始值的确定; 退出循环的条件。 例7. 判断2000~2500年中的每一年是否是闰年? 此问题的算法设计思路: 假设year是年份,则: S1: year=2000; S2: 如果 year 是闰年 则 输出year “是闰年”; 否则 输出year “不是闰年”; S3: year=year+1; S4: 如果 year=2500 则 转向S2;
您可能关注的文档
最近下载
- 国开电大学习网网络安全技术形考任务答案.pdf VIP
- 工程实验力学 第2版 教学课件 作者 计欣华 邓宗白 鲁阳 等编著 参编:张明等 第7章 电阻应变式传感器.pptx VIP
- 《劳动关系与劳动法》课程教学大纲(本科).pdf VIP
- 工程实验力学 第2版 教学课件 作者 计欣华 邓宗白 鲁阳 等编著 参编:张明等 第8章 光测弹性学方法.pptx VIP
- 《急诊与灾难医学》第六章-急性疼痛.pptx VIP
- 短视频:策划、制作与运营PPT课件(全套完整版).pptx
- 2025年乡村民宿可持续发展战略规划与实施路径.docx
- 劳动法课程教学大纲.doc VIP
- 7.2+践行平等 统编版道德与法治八年级上册.pptx VIP
- 工程光学完整课件.ppt VIP
原创力文档


文档评论(0)