您的位置:首页 > 其它

软考之路--算法

2015-05-30 21:47 302 查看
软件设计师考试,看着你消失在一个转弯的地方,23号乘上离京的城际列车,意味着结束也意味着开始。没有来得及在你的季节写下你的日记,过后还是想补上,至少以后可以回头看看你。

算法主要有:分治、动态规划、贪心、回溯等四种。于算法首先在心理上要战胜自己,对于算法的理解不像想象中那么难。

简单看看几种算法的思想:

分治:像当年的抗日战争三大战役划分各个战点各个突破,就是将一个难以直接解决的大问题分解成较小的相同问题各个击破,分而治之。

动态规划:与分治相似,将问题分解成若干小问题,先求解子问题再合并获得最优解。

贪心:最好理解了,日常生活中影子随处可见。简单地说是发挥最大价值,最优子结构、解决最优化问题,一般是贪心或是动态规划,加上按照某个规则的一般是贪心。

回溯:回溯的意思简单理解就是有往回走的意思,以深度优先的方式搜索整个空间,皇后问题是典型得回溯。

在具体的代码上,关键是看懂一个算法的代码有了看的信心和勇气,然后根据每个算法的思想或者是给出的例子去理解,实际上就是将每句多笔画的有蕴藉的中文翻译成有美丽的代码符号。

从算法中看学习,还想说到积极主动、总结、全局观、从简单的入手。

都知道积极主动是成功人士的七个习惯之一,主动去学习主动去承担会理解更深学到更多也因此更有自信。总结:

1.对于主要算法来说分治是一种思想,分而治之,在日常的生活学习中也是常见的大事化小,可以说是解决所有问题的关键,这样对于它是不是更好理解。

2.动态规划,假设选中的想法,一种伟大的思想就像之前老师常用的例子三个数比较大小假设最大就成了最大。假设选中物品,那么装物品的包就在变小体现一个动态的过程;又想让它的价值发挥到最大,需要规划,咦发现了吧也是贪心的体现对吧。

3.回溯,也是分治的一种体现,每一步都有最大值,部分背包的应用。

4.背包,最简单的是部分背包,可拆分、性价比大、具有绝对最优解;01背包,不可拆的梦(想),但也设法正好装满,发挥最大价值--贪心。

从简单的问题入手,找软柿子捏。部分背包问题相对来说是比较简单的,我们在学习中可以先从它着手找到突破口,接下来就好理解。

或许不是属于你的最后一页,期待地更美的时刻。想说:软件设计师考试,就是像学过的知识系统化、理论化,本着学习的态度将不仅仅收获考试,还有更多比如知识、时间管理、交流能力、素质、友谊、团队精神等等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: