吉林大学自考算法设计与分析01345复习资料.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
《算法设计与分析》是计算机科学中的核心课程,它涵盖了设计高效算法以及分析算法性能的基本原理和技巧。这里,我们根据提供的复习资料,提炼出一些关键知识点: 1. **算法的时间复杂度**:例如,表达式`n+n*log10n`等价于`Θ(n*log n)`,表示算法的时间复杂度是线性对数级别。 2. **素数的计数**:例如,`S`是包含1到20之间素数的集合,那么`|S|=8`,表明1到20中有8个素数。 3. **算法分析的基础**:对算法的分析应当独立于特定的计算机硬件和编程语言,关注算法本身的逻辑和效率。 4. **单调性**:如果两个函数`f(n)`和`g(n)`都是单调递增的,那么它们的和`f(n)+g(n)`也是单调递增的。 5. **对数的性质**:`log(n!)`等于`Θ(n*ln n)`,这涉及到阶乘和自然对数的关联。 6. **最优解求解方法**:分支界限法常常用于寻找问题的最优解,例如在最优化问题中。 7. **素数计数**:例如,`S`是包含1到30之间素数的集合,那么`|S|=10`,意味着1到30中有10个素数。 8. **奇数计数**:`S`是包含1到200、201之间奇数的集合,其元素数量`|S|=101`,因为每隔一个数有一个奇数。 9. **EULER函数**:EULER函数Ψ(74)的值为343,它在数论中计算小于等于给定数的互质数的数量。 10. **分配排序**:基数排序是一种分配排序技术,适用于按位排序的场景。 11. **基数排序应用**:在示例中,基数排序首先按最高位进行桶排序,然后按次高位,以此类推。6号桶在第二轮排序后包含数字865。 12. **函数的乘积**:如果`f(n)`和`g(n)`都是加法非负且单调递增的,那么`f(n)g(n)`也是单调递增的。 13. **最坏情况复杂性**:算法在最坏情况下的复杂性是所有可能输入中最坏情况下的执行次数的最大值。 14. **同步并行算法**:这种算法要求某些进程必须等待其他进程完成才能继续。 15. **基数排序的应用**:2号桶在基于最高位的基数排序后包含数字526。 16. **算法设计方法**:包括分治法、回溯法、贪心法、动态规划法、分支界限法等,这些都是解决不同问题的常用策略。 17. **数据压缩**:通过减少表示信息的位数来节省存储空间。 18. **并行处理技术**:通过同时增加操作数量来提升计算速度。 19. **组合序列与毋函数**:序列`c(n,0),c(n,1),…,c(n,n)`对应于`(1+x)^n`的展开项。 20. **共享变量通信**:用于实现细粒度和中粒度并行计算。 21. **并行算法的加速比**:衡量并行算法相对于串行算法的性能提升。 22. **软件并行性**:由程序的控制流和数据依赖性决定的并行可能性。 23. **算法分析的通用性**:算法分析不应受限于特定的计算机架构或编程语言。 24. **作业调度**:贪心法常用于解决有限期的作业调度问题,寻求局部最优解。 25. **EULER函数的计算**:EULER函数Ψ(21)的值为18。 26. **单调递减函数的性质**:若`f(n)`和`g(n)`都单调递减,那么`g(g(n))`也单调递减。 27. **并行算法的研究**:除了运行时间,还需考虑所需处理器的数量。 28. **简单字符串匹配**:在最坏情况下,需要进行`(n-m+1)*m`次字符匹配。 29. **逆序总数**:在序列中,逆序对的数量可以衡量序列的混乱程度,例如序列`(7,10,5,3,8,21,2)`有12个逆序对。 30. **单向HASH函数**:不需要满足的属性是安全性,而应该是确定性和不可逆性。 31. **基数排序的应用**:5号桶在基于第一位的基数排序后包含数字451。 32. **分支限界的本质**:分支限界是一种排除无效路径的方法,用于搜索问题的解决方案。 33. **大整数相乘**:计算大整数乘法时,所进行的一位整数乘法的次数反映了算法的效率。 34. **滑动距离函数**:在BM算法中,滑动距离函数dist[n]的值为模式P的长度,即7。 35. **KMP算法**:计算next数组,模式`"aabaaaa"`的next[7]值为3。 36. **算法评价标准**:算法的优劣通常通过平均和最坏情况下的时间开销来评估。 37. **递归与分治**:递归是分治策略的一种常见实现方式,通过分解问题来解决问题。 38. **函数阶的比较**:`f(n)=log n`和`g(n)=log3n`,它们的阶关系是`f(n)=Θ(g(n))`,说明两者时间复杂度相当。 39. **二分查找**:在有序表中,二分查找关键码10需要比较3次。 40. **Branch and Bound**:分支限界是一种搜索策略,用于约束问题的搜索空间。 41. **异步并行算法**:允许进程独立运行,无需等待其他进程的结果。 42. **并行算法复杂度**:主要包括运行时间和处理器数目这两个关键指标。 43. **素数计数**:在1到10之间,有4个素数。 以上是复习资料中涉及的主要算法设计与分析知识点,这些内容对于理解和解决实际问题至关重要。在准备吉林大学的自考考试时,考生需要熟练掌握这些概念并能应用到具体题目中。
剩余23页未读,继续阅读
- 粉丝: 93
- 资源: 2万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助