欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > 软件设计师全套备考系列文章9 -- 算法设计与分析

软件设计师全套备考系列文章9 -- 算法设计与分析

2024/10/25 10:28:36 来源:https://blog.csdn.net/weixin_44399264/article/details/141395495  浏览:    关键词:软件设计师全套备考系列文章9 -- 算法设计与分析

软考-- 软件设计师(9)-- 算法设计与分析


文章目录

  • 软考-- 软件设计师(9)-- 算法设计与分析
  • 前言
  • 一、章节考点
  • 二、分治法
  • 三、回溯法
  • 四、贪心法
  • 五、动态规划法


前言

考试时间:每年5月、11月,软件设计师每年都会开考。
考试条件:三不限
考试形式: 一共两门计算机于软件工程基本知识--120分钟--机考--选择题--75分(45及格)软件设计--120分钟--机考--简答题(4道必做,1道二选一做)--75分(45及格)两门都得一次性及格才算通过,一共4小时考试时间。软件行业从事人员学习视频:https://www.bilibili.com/video/BV1Qc411G7fB?vd_source=d82c92f6c1fd8c6785c6b557a68cb7b3推荐博客:http://t.csdnimg.cn/5VzY5
推荐bilibli博主:zst_2001由于本人从事软件开发4年,有一定的基础,所以本系列博客笔记皆从于第一个视频记录笔记。

一、章节考点

Tips:会出个下午题,15分,是个压轴题,这一章很重要 也 很难,视频博主建议是了解基本概念,能区分算法用的那种思想即可,但是大家看我这个文章应该都有点基础,所以还是建议吃透这一章,拿下这15分。c语言必须掌握,下午题必考。Java和c++要会其中一门。
分治法、回溯法、贪心法、动态规划法

二、分治法

分治法:这个和java多线程里面的ForkJoin 是同样的算法,相信大家如果做过数据清洗,应该使用过forkJoin
三个步奏:1、分解:将原问题分解为一系列的子问题;2、求解:递归求解哥哥问题的子问题。若子问题足够小,则直接求解;3、合并:将问题的解合并成原问题的解。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、回溯法

在这里插入图片描述

四、贪心法

在这里插入图片描述

五、动态规划法

在这里插入图片描述

在这里插入图片描述

0-1背包问题:表示一个物体要不全部装进去,要不不装进去;必须整体装进去。
部分背包问题:表示一个物体可以切割一部分装进去。部分背包问题一般来说要计算一个物品单位体重的价值,然后部分装进去。
下面是 0-1 背包问题,第一个问视频博主的思想是:1、找出背包价值最大的两个价值6 6,装进去背包还剩余42、比较一下就只能装入容量剩余4只能装下2了,2对应的价值为3,故总价值x = 6+6+3 = 15;这种思想是穷举法,可以快速的解决小问题,但是真正0-1背包问题的解决思路肯定不是这样的
这个算的太简陋了。待我研究研究....... 分析一下下面的式子:c(i,j):价值;i:物品数量;j:物品容量右边大括号括起来的就是动态规划法的递归算法:1、若i=0或j=0c(i,j) = 02、若w[i]>j,c(i,j) = c(i-1,j)3、其他情况为max{c(i-1,j)c(i-1,j-w(i))}c(i,j)的定义:就是 i个物品、容量j的0-1背包问题的最大包装价值,带入到本题目中就是求解c(n,w)。再带入数值的话,其实就是求解c(5,10)。而这个是个递归算法,其最终算到的肯定是i=0和j=0,带入本体题就是n=0和w=0。也就是说,从n=5、w=10到n=0、w=0要计算多少步奏,就是时间复杂度,也就是O(nw)吐槽一下:这个视频博主讲的真的是太潦草了,没点基础真不行,没基础的还是看看zst的吧。有基础的看完这个,二轮看zst的,或者背诵知识
点的时候用zst的笔记背诵,这个完全就是进阶人员快速掌握知识看的,如果你只剩不到一个月,那看这个吧。

在这里插入图片描述

部分背包问题:1、将五个物品单位重量的价值算出来并且归并排序得到{31.51.50.8330.8}2、计算最大价值 = 3*2+1.5*2+1.5*4+0.833*2 = 16.666,选D归并排序的算法时间复杂度为O(nlgn),选择B算法时间复杂度排序口诀(->):常对幂指阶  

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com