全国软考中级软件设计师 学习笔记-数据结构及算法部分

本部分是下午考试中最难的,能拿一半分数就好,属于拔高人群得分,建议最后复习此部分。

想要电子版本的同学可以留言或者私信我获取,辛苦整理资料,欢迎点赞、收藏和评论。

1. 分治法

       对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决;否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解

1.1 分治法-递归技术

递归,就是在运行的过程中调用自己

全国软考中级软件设计师 学习笔记-数据结构及算法部分_第1张图片

1.2 分治法-二分法查找

全国软考中级软件设计师 学习笔记-数据结构及算法部分_第2张图片

2. 回溯法-迷宫问题

全国软考中级软件设计师 学习笔记-数据结构及算法部分_第3张图片

3. 贪心法-背包问题

全国软考中级软件设计师 学习笔记-数据结构及算法部分_第4张图片

4. 动态规划法

全国软考中级软件设计师 学习笔记-数据结构及算法部分_第5张图片

5. 案例分析

5.1 案例分析1

答案:1)

全国软考中级软件设计师 学习笔记-数据结构及算法部分_第6张图片

2)均为贪心算法,时间复杂度均为O(n^2)

3)

全国软考中级软件设计师 学习笔记-数据结构及算法部分_第7张图片

最先适宜和最优适宜策略下所需的集装箱分别为5和4,均不能保证得到最优解

5.2 案例分析2

全国软考中级软件设计师 学习笔记-数据结构及算法部分_第8张图片

答案:1)

全国软考中级软件设计师 学习笔记-数据结构及算法部分_第9张图片

全国软考中级软件设计师 学习笔记-数据结构及算法部分_第10张图片

2)分治算法递归式T(n)= 2T(n/2)+ O(n)

时间复杂度为O(nlogn)空间复杂度O(n)

3)  n1+n2

动态规划是考试重点,但是对于大多数人有点难!不做必须要求!

想要电子版本的同学可以留言或者私信我获取,辛苦整理资料,欢迎点赞、收藏和评论。

你可能感兴趣的:(#,动态规划,迷宫问题,递归)