1.算法概念
一个程序主要包括以下两方面的信息:
(1)对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式,这就是数据结构(datastructure)
(2)对操作的描述。解决某个问题的方法和步骤,也就是算法(algorithm)
著名计算机科学家沃思(NikiklausWirth)提出一个公式:
程序=算法+ 数据结构
数据结构(datastructure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系;
•逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后间关系;
•线性结构和非线性结构。
•物理结构:数据的逻辑结构在计算机存储空间中的存放形式,也称为存储结构。
•一种数据结构的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序存储、链式存储、索引存储等。
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
一个算法的优劣可以用时间复杂度与空间复杂度来衡量。
-空间复杂度是指算法需要消耗的内存空间。
数值运算算法和非数值运算算法
2.算法的特性
有穷性:算法的有穷性是指算法必须能在执行有限个步骤之后终止;
确定性:算法的每一步骤必须有确切的定义;
输入项:0个或多个;
输出项:1个或多个;
有效性:每个计算步骤都可以在有限时间内完成。
Comments