算法编程第一周——训练总结(第一周)

编程学习,尤其算法的学习需要大量刷题,大量刷题对学习算法的理解有非常重要作用,当然目前为止我只是刚刚学习一个月左右的算法,最初除了看书还看北大mooc的算法,感觉讲的很好,讲完就感觉通透了些,但是很多算法问题,在算法的理论上感觉确实了解了,但将算法的思维运用到实战中却存在脑子一片空白不知道怎么使用的情况很……,是一个很头疼的问题……好在后期做题多了这种现象缓解了不少,所以还是需要多见多做一些题。

这一周主要进行了贪心算法的训练,贪心算法是用于求解最优算法的方法之一,考虑以局部最优解或者说是较优解来让全局达到最优。以每一步较优或最优来实现总体最优。有些问题可用动态规划更为高效,有些题与递归思想有较大联系。

常见几个题型有:1性价比问题,2最大整数问题,3可分割背包问题,4找零钱问题,5单位价值问题,6活动安排问题,7简单的马踏棋盘问题,8均分纸牌问题。

在进行相关问题的解决时还存在一个问题就是过度纠结到一个点上,然后感觉整个代码都迷迷糊糊的,不过跳出来这个点去看整体,在代码上把眼界放大就突然看明白了,不过这种问题在刚学的时候比较严重,现在基本好了。

后面的话准备再重新独立做一遍,刷一遍一本通里面的例题,算是再深入贯通一下吧。另外感觉递归思想还是很有用的,再琢磨琢磨递归算法。

你可能感兴趣的:(算法编程第一周——训练总结(第一周))