"计算机算法设计与分析算法概述"
计算机算法设计与分析算法概述是计算机类专业的专业基础课程,旨在让学生掌握计算机常用算法的一般设计方法,学会对算法的时间、空间复杂度分析,掌握提高算法效率的方法和途径。本课程涵盖了算法的概念、算法的性质、问题求解过程、算法设计、算法确认、算法分析等方面的内容。
知识点1:算法的概念
算法是指解决问题的一种方法或一个过程。严格地讲,算法是由若干条指令组成的有穷序列。算法具有输入、输出、确定性、有限性、可实现性等性质。
知识点2:算法的性质
算法的性质包括输入、输出、确定性、有限性、可实现性等。算法的输入是零个或多个外部提供的量,输出是算法产生至少一个量,确定性是指组成算法的每条指令是清晰、无歧义的,有限性是指算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的, 可实现性是指算法中有待实现的运算都是相当基本的,每种运算至少在原理上能由人用纸和笔在有限的时间内完成。
知识点3:问题求解过程
问题求解过程包括问题的陈述、建立数学模型、算法设计、算法的正确性证明、算法的程序实现、算法分析等步骤。在问题求解过程中,需要对问题进行准确的描述,建立数学模型,设计计算机求解算法,证明算法的正确性,实现算法的程序,并对算法进行分析。
知识点4:如何设计算法
设计算法需要掌握一般的算法设计方法,学会设计高效的算法。常见的算法设计策略包括递归、回溯、分治策略等。
知识点5:如何确认算法
确认算法需要证明算法对所有可能的输入都能算出正确的答案。这一工作称为算法确认。在学习本课程中,我们仅对算法的正确性进行一般的非形式化讨论,以及对算法的程序实现进行测试验证。
知识点6:如何分析(评价)算法
分析算法需要对算法进行定量的分析,了解算法需要多少计算时间和存储空间,了解算法在最坏、最好和平均情况下的运算时间,并对解决同一问题的不同算法的优劣作出比较。
知识点7:算法的描述方式
算法可以用多种方式来描述,如自然语言、流程图、伪代码、数学语言等。不同的描述方式可以用于不同的目的,例如,自然语言可以用于解释算法的思想,流程图可以用于描述算法的结构,伪代码可以用于描述算法的实现细节。
本课程旨在让学生掌握计算机常用算法的一般设计方法,学会对算法的时间、空间复杂度分析,掌握提高算法效率的方法和途径,并让学生具备独立设计、分析和评价算法的能力。