算法是程序设计的灵魂 班级:软件 1202 学号:02 姓名: 【摘要】算法,简单的定义就是定义良好的计算过程,它取一个或一组值作为输入,并产生出一个或一组值作为输出
或者说,算法就是一系列的计算步骤,用来将输入数据转换成输出结果
算法,可以在各种学科中发挥出惊人的威力
然而,算法真正焕发青春得到进展,主要进展在计算机的时代
随着计算机技术的广泛应用,人们越来越清楚的认识到,作为计算机科学中最重要和最核心的技术——程序设计,其灵魂就是解决问题的算法 【关键字】 算法,程序设计算法是指解题方案的准确而完整的描述,是一系列解决问题的清楚指令,算法代表着用系统的方法描述解决问题的策略机制
也就是说,能够对一定法律规范的输入,在有限时间内获得所要求的输出
假如一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题
不同的算法可能用不同的时间、空间或效率来完成同样的任务
一个算法的优劣可以用空间复杂度与时间复杂度来衡量
算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清楚定义的状态,最终产生输出并停止于一个终态
一个状态到另一个状态的转移不一定是确定的
随机化算法在内的一些算法,包含了一些随机输入
形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,并在其后尝试定义有效计算性或者有效方法中成形
这些尝试包括库尔特·哥德尔、Jacques Herbrand 和斯蒂芬·科尔·克莱尼分别于 1930 年、1934 年和 1935 年提出的递归函数,阿隆佐·邱奇于 1936 年提出的 λ 演算,1936 年 Emil Leon Post 的 Formulation 1 和艾伦·图灵 1937 年提出的图灵机
即使在当前,依旧常有直觉想法难以定义为形式化算法的情况
一个算法通常具有以下五个重要的特征:有穷性:算法的有穷性是指