1、首先,什么是算法,算法就是解决问题的一般步骤,然后又为什么需要算法,那就是因为问题的引入。
其次,解决问题的方式方法有好坏之分,因此算法也就有好坏之分。算法性能的好坏并不会因为选取的语言的不同的而存在出入。
再而,引入评价算法性能的方式,也就是时间复杂度和空间复杂度。
时间复杂度:对于学过数据结构的人都会知道有那么一张关于量级的时间复杂度的表,那么讨论算法时间复杂度也就是看属于那个量级,但是这个又是用什么来衡量的呢。那么我们就需要知道核心代码的执行次数,然后再对应表。
空间复杂度:一般情况下只是去看是否有借助外部存储。
最后:所有的算法性能的评价都是要建立在你能够把实际问题转化为计算机语言来实现,如果无法实现那么一切都是徒劳。
2、关于解决算法题
首先:遇到题目先看题目属于哪一类问题,是动态规划还是其他别的类型,想要解决这个题目需要选取什么样的存储结构,然后看是否能把问题转化成计算机问题,进行模拟。
其次:如果确定了解决的类型那么解决的方式无非就是对这些结构进行操作。
再而:就是回到1的问题上来了。
3、对于考研的学生特别是考408的人而且题量并不会允许你去想怎么把算法写的完美,那么现在就出现了暴力解决的方式,也就是用笨办法。
来源:CSDN
作者:固执的鱼
链接:https://blog.csdn.net/ChaXinZuoWang/article/details/51318042