算法学习心得记录-1

第一节课

认识时间复杂度

算法的好坏是通过算法的时间复杂度来评估的,去计算时间复杂度的时候要去掉常数项,去掉低位项,保留最高项。
评价算法的流程好坏,就是在这个算法中常数操作执行了多少次

笔试的技巧

需要准备各种各样的模板。自己要准备一个对数器来验证自己的算法是否正确。笔试时的验证器不一定对。对数器就是随机生成不同的数字,用自己准备好绝对正确的算法去与自己要验证的算法去验证,如果不一样则输出对应的数字。这样就能知道自己错在哪里。

如何分析递归函数的时间复杂度
大部分递归函数的时间复杂度都可以通过MARS公式来计算,这个公式可以去百度来了解。关于递归有一点要记得的是,所有的递归都可以化为非递归,因为递归其实就是个压栈的过程。程序员可以自己进行压栈,不必通过系统帮忙压栈。

小技巧
Mid=(L+R)/2容易导致溢出 可以写成Mid=L+(R-L)>>1。

这是第一篇博客,希望自己越来越努力,能写出更牛逼的文章。

你可能感兴趣的:(算法学习)