算法处理功能
⑴ 何谓算法它与程序有何区别
人能理解的运算方法叫算法;机器能理解的运算方法叫程序。
⑵ 算法及其特性有哪些
1.算法的重要特性(1)有穷性:一个算法必须在执行有穷步骤之后正常结束,而不能形成无穷循环。
(2)确定性:算法中的每一条指令必须有确切的含义,不能产生多义性。
(2)可行性:算法中的每一条指令必须是切实可执行的,即原则上可以通过已经实现的基本运算执行有限次来实现。
(4)输入:一个算法应该有零个或多个输入。
(5)输出:一个算法应该有一个或多个输出,这些输出是同输入有特定关系的量。
2.算法描述的方法(1)框图描述:该方法使用流程图或N-S图来描述算法。
(2)自然语言描述:该方法采用自然语言,同时添加高级程序设计语言如while、for和if等基本控制语句来描述算法。这类描述方法自然、简洁,但缺乏严谨性和结构性。
(2)类语言描述:这是介于程序设计语言和自然语言之间算法描述形式,其特征是突出算法设计的主体部分而有意忽略某些过于严格的语法细节,如类C或C++的伪语言。这种算法不能直接在计算机上运行,但专业设计人员经常使用它来描述算法,它具有容易编写、阅读和格式统一的特点。
(4)程序设计语言描述:采用某种高级程序设计语言(如C或C++)来描述。这是可以在计算机上运行并获得结果的算法描述。
本课程将采用伪C语言进行算法描述。
2.算法与程序的关系算法的含义与程序十分相似,但二者是有区别的。算法和程序都是用来表达解决问题的逻辑步骤;算法是对解决问题方法的具体描述,程序是算法在计算机中的具体实现;一个程序不一定满足有穷性(死循环),而算法一定满足有穷性;程序中的指令必须是机器可执行的,而算法中的指令则无此限制;一个算法若用计算机语言来书写,则它就可以是一个程序。因此,程序是算法,但算法不一定是程序。4.算法设计要求在算法设计中,对同一个问题可以设计出不同的求解算法。如何评价这些算法的优劣,从而为算法设计和选择提供可靠的依据?通常可从以下四个方面评价算法的质量:
(1)正确性:算法应该能够正确地执行预先规定的功能,并达到所期望的性能要求。
(2)可读性:算法应该好读,以有利于读者对程序的理解,便于调试和修改。
(2)健壮性:算法应具有容错处理。当输入非法数据时,算法应对其作出反应,而不是产生莫名其妙的输出结果。
(4)效率与低存储量需求:效率指的是算法执行的时间。对于同一个问题,如果有多种算法可以求解,执行时间短的算法效率高。算法存储量指的是算法执行过程中所需要的最大存储空间。高效率和低存储量这两者与问题的规模有关。
⑶ 1、算法就是解决问题的___________和_________。 2、算法描述可以有多种表达方法,一般用______
1、算法是解决问题的清晰指令和策略机制。
2、算法描述可以有多种表达方法,一般用自然语言、结构化流程图和伪代码描述。
3、伪代码是介于自然语言和计算机程序语言之间的一种算法描述。它也是专业软件开发人员描述算法的一种常用方法。
4、算法是程序设计的“灵魂”,世界着名计算机科学家尼克劳斯·沃斯(N·Wirth)指出:算法 + 数据结构=程序。
5、程序设计语言的发展经历了机器语言、汇编语言到高级语言的过程。其中计算机可以直接识别的是机器语言,它是由“0”和“1”构成的代码。
(3)算法处理功能扩展阅读
算法的评定标准:
同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。
1、时间复杂度:算法的时间复杂度是指执行算法所需要的计算工作量。
一般来说,计算机算法是问题规模n的函数f(n)算法的时间复杂度也因此记做:T(n)=Ο(f(n))。因此,问题的规模n 越大,算法执行的时间的增长率与f(n) 的增长率正相关,称作渐进时间复杂度
2、空间复杂度:算法的空间复杂度是指算法需要消耗的内存空间。
其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。同时间复杂度相比,空间复杂度的分析要简单得多。
3、正确性:算法的正确性是评价一个算法优劣的最重要的标准。
4、可读性:算法的可读性是指一个算法可供人们阅读的容易程度。
5、健壮性:健壮性是指一个算法对不合理数据输入的反应能力和处理能力,也称为容错性。