acm第五周总结

   说实话我也不清楚这周具体看了多少篇文章(三四十篇应该是有的),一开始还精打细算,什么内容看多少篇,一天看多少篇文章,后来因为读有些比较难的题的时候一些地方看不懂浪费了很多时间打乱了计划,再加上读题的时候查阅了很多资料,还看了书的一部分内容,最后就不清楚到底看了多少内容了。看的内容主要是五大算法基本思想以及10道思维题,还有DFS和BFS。

一.五大算法基本思想

1.分治

2.贪心

3.动态规划

4.回溯

5.分支限界

二.思维题

思维题总结

三.DFS和BFS

DFS和BFS

看了这么多内容,可能并不能一下子全部理解透彻,但也有不少收获。我最开始看的是十道思维题,在看的过程中发现题中出现了许多我还不了解的算法思想,于是就看了一些有关算法思想的博客和题,后来又看了一些有关DFS和BFS的文章。在看的过程中,我发现这些算法思想都有共通之处,但也存在着一些差别,就比如贪心、分治、动态规划都需要把大问题分解成一个个的小问题,通过求解这些小问题来解决大问题,但是分治一般要求这些小问题独立,没有重合的解,而动态规划分解的小问题一般不是相互独立的,贪心与动态规划两者都有最优子结构性质,但贪心只考虑局部最优解,并不能保证整体上的最优解。DFS用到了回溯思想,而BFS用到了分支限界思想,DFS和BFS搜索方式类似,但也有所不同,DFS是选择一条路一直走直到碰到死胡同再返回上一个结点,选择另一条路,而BFS则是从第一个点走接下来它能直接到达的所有结点,因此,DFS更适用于找全部解,而BFS更适合找最优解。除此之外,这些这些思想中都或多或少的用到了递归,同一道题可以用多种算法思想来做。做思维题了解这些思想还远远不够,还需要会分析题意找出应该用哪一种思想,有时也可能并不需要用到这些思想,而是分析题意找出题的规律,这就需要平时多做思维题,积累经验。总的来说,这周看的内容很多,但是不精,也有一些地方因为看的速度比较快可能理解的不太到位,主要是想先了解这些常见的算法思想和在题中的用法,还有就是感觉自己的基础不太好,对一些程序代码的运行理解有偏差,这就导致在一道题上浪费大量的时间,因此不能急于求成,应该抽出少部分时间复习基础知识,只有先把基础知识掌握透彻一步一步提高才能在更高点站的更稳。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值