网站大量收购独家精品文档,联系QQ:2885784924

西工大算法复习资料总结(最终修订版).pdf

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
______________________________________________________________________________________________________________ 笔试部分 一.简答题 (40 分 ) 1. 算法的基本概念、性质及其与程序的联系与区别 算法:是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令。 算法性质:输入 有零个或者多个外部量作为算法的输入; 输出 算法产生至少一个量最为输出; 确定性:组成算法的每条指令是清晰的、无歧义的; 有限性:算法中指令的执行次数有限和执行的时间有限。 程序:是算法用某种设计语言的具体实现,程序可以不满足算法的有限性。 2. 大 O表示法的含义和渐进时间复杂度(要会计算复杂度) 大 O表示法:称一个函数 g(n) 是 O(f(n)) ,当且仅当存在常数 c0 和 n0=1,对一切 nn0 均有 |g(n)|=c|f(n)| 成立,也称函数 g(n) 以 f(n) 为界或者称 g(n) 囿于 f(n) 。记作 g(n)=O(f(n)) 。 定义:如果一个问题的规模是 n ,解这一问题的某一算法所需要的时间为 T(n) ,它是 n 的某一函数。 T(n) 称为这一算法的“时间复杂度”。当输入量 n 逐渐加大时, 时间复杂度的极限情形称为算法的“渐近时间复杂度”。 3. 分治法的基本思想是什么 分治法的基本思想是: 将一个规模为 n 的问题分解为 k 个规模较小的子问题, 这些子问 题互相独立且与原问题相同。 递归地解这些子问题, 然后将各子问题的解合并得到原问题的 解。 4. 回溯算法的基本思想及其一般模式(子集树 +排列树) 基本思想: 在包含问题的所有解的解空间树中, 按照深度优先搜索的策略, 从根结点出 发深度探索解空间树。 当探索到某一结点时, 要先判断该结点是否包含问题的解, 如果包含, 就从该结点出发继续探索下去, 如果该结点不包含问题的解, 则逐层向其祖先结点回溯。 若 用回溯法求问题的所有解时, 要回溯到根, 且根结点的所有可行的子树都要已被搜索遍才结 束。 而若使用回溯法求任一个解时,只要搜索到问题的一个解就可以结束。 搜索子集树的一般模式: void search(int m) { if(mn) // 递归结束条件 output(); // 相应的处理 ( 输出结果 ) else { a[m]=0; // 设置状态: 0 表示不要该物品 search(m+1); // 递归搜索:继续确定下一个物品 a[m]=1; // 设置状态: 1 表示要该物品 search(m+1); // 递归搜索:继续确定下一个物品 } } 搜索排列树的一般模式: void search(int m) { 精品资料 ______________________________________________________________________________________________________________

文档评论(0)

zjr1736 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档