- 6
- 0
- 约8.9千字
- 约 12页
- 2017-02-05 发布于北京
- 举报
算法作业和期末复习题)
1.给出递推公式x(n)=x(n-1)+n,x(0)=0对应的通项公式计算过程?
解: X(n)-X(n-1)=n
X(n-1)-X(n-2)=n-1
…… ……
X(1)-X(0)=1
X(n)-X(0)=(n+1)n\2
X(n)= (n+1)n\2
2.?、?、?之间的区别与联系
?描述增长率的上限 上限值越低,结果越有价值。
?用来表示算法的精确阶
?描述增长率的下限 下限值越高越有价值。
联系: 只要当考察问题规模充分大时,算法中基本语句的执行次数在渐近意义下的阶,通常使用3种等渐近符号。
3.什么是数据结构,什么是算法,两者有什么关系?
数据结构:是指相互之间存在一定关系的数据元素的集合。
算法:是对特定问题求解步骤的一种描述是指令的有限序列。
程序=算法+数据结构
5.举例说明分治法、动态规划法和贪心法适用范围,及三者之间的区别。
答:分治法:适用于原问题可划分为子问题时如汉诺塔问题(循环赛,最近对,棋盘覆盖等)
动态规划:当原问题可分解为子问题并且问题重叠并且具有最优子结构时可用动态规划法,如TSP问题(多端最短路径问题,0/1背包问题等)
贪心:当一个问题具有最优子结构性质且具有贪心选择性时可用贪心算法,如最小生成树问题(背包问题,活动安排问题等)
在分治法的基础上,满足最优子结构性质才能用
原创力文档

文档评论(0)