听说组织要求AlvinZH写篇算法学习攻略?不存在的。这不存心为难我胖虎么,不如让我多出个题:)
算法作为一门理论与实践并重的课程,可以说是大学里最重要的课程之一。算法是深奥而巧妙的,希望通过学习这门课程,大家能够熟悉优雅、朴素和简单的算法,理解精巧、复杂和高难度算法,带着算法的思维去思考问题。
开始的算法学习中,学习到一些简单而实用的算法知识,如排序、查找等。掌握时间复杂度的计算,递归式的求解。熟悉每一种排序方法,对比各种方法的优劣。分治法作为最基础的算法,分解与合并你懂了吗?笔试当中基础知识部分占很大比例,重点考察简单算法时间复杂度的计算与分析。
动态规划和贪心是算法学习的重头戏。动态规划部分的基本定义,最优子结构与重叠子问题的理解尤为重要。结合钢条切割和矩阵链乘,一步步体会DP的原理。而贪心相对来说比较简单,重点理解活动安排问题,可证明最好。笔试中不要求具体实现,求状态转移方程是常见,分析贪心策略是必考,上机的话当然得具体实现啦!
在算法学习后期,算法课程讲解的都是实际运用高效算法的经典案例,如最大流、二分图、凸包的算法。理解难度对大家来说会比较大,但需要大家课下认真消化吸收,相互讨论,理解网上的博客资料等。对于这类知识上机不会考的太难,一般只要意识到考察的知识点就可以解决。在期末笔试中最多也只会考察大家对相应算法的简单了解,不可能要大家手写匈牙利算法的。同时提醒大家这些经典算法都是以后大家工作面试的基本题哦~
好啦,就讲到这里啦,提醒一句,一定要记得去做一做往年的题哦(你可以在往年考题资料上再次见到AlvinZH的悉心教诲
最后感谢大家对我们一学期以来工作的大力支持!在此祝愿大家新年快乐,并祝大家期末考试取得让自己满意的成绩!
输入包含多组数据。
每组数据包含一个正整数 $x$ , $0≤ x ≤100$,为某同学本学期学习算法的努力程度。
对于每组数据,输出一行,为该同学的算法成绩 $Mark$,保留整数。
100
100
算法成绩计算公式:$Mark=\sqrt{x}\ * 10$。