计算机的出现和发展为人类解决了处理复杂数据时间长且精确度不足的问题,而一个优秀的算法可以把计算机处理数据的效率大大提高,作为计算机类专业的学生,我们任务就是把客观世界的问题在头脑中抽象化,形成合理的算法,进而更高效的解决问题。
算法,通俗来讲就是解决问题的方法,算法所要面对的问题是具有一定难度且复杂的问题。并不是程序员或者计算机从业人员才运用算法,事实上算法出现的时间比计算机要早得多,例如汉代军事家韩信就运用算法解决计算士兵人数的问题。
在我看来,求解一个算法问题,最重要的将其抽象化,就像在物理学领域,为了更好的进行研究某物体的运动规律,往往会忽略所研究对象的其他属性,仅仅关注与其研究相关的属性,将其抽象化为一个质点。在解决算法问题时我们也可以采用这种思想,忽略问题的表象,将思考的重点放在问题的本质中,透过表象看本质,这样才能更好更快的解决问题。
解决某一算法问题时,我们首先对问题进行抽象化,透过问题去看本质,要将问题去复杂化、结构化,搞清楚内在逻辑,这样才能找出合适的算法解决问题。
解决问题的方法有很多,可选的算法也很多,但有效且便利的方法需要我们根据问题情况去合情挑选和改良,如何设计出最优算法这取决于99%平日各种算法的积累(我觉得起码要能掌握数据结构的所有算法和一些常用算法)和1%的灵光乍现。另外不管算法如何,逻辑是一定要清晰的。
找出合理的算法后就要进行代码实现。这一部分是最能考验一个人的功底。算法设计的再巧妙,如果实现不了也是纸上谈兵。代码实现不只是要会写代码,还需要有严谨的逻辑能力,要考虑到题目要求中的所有情况,以及调试代码修改程序的能力和耐心。
关于算法的思考
最新推荐文章于 2022-02-26 15:13:24 发布