标签:步骤 链式 二义性 没有 顺序存储结构 描述 存储结构 数据 产生
数据结构按照视点的不同可分逻辑结构和物理结构。
逻辑结构:
1.集合结构
2.线性结构
3.树形结构
4.图形结构
物理结构:
1.顺序存储结构
2.链式存储结构
算法定义:
算法是解决特定问题求解步骤的 描述 ,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
算法的5个基本特性:输入、输出、有穷性、确定性和可行性。
可行性和确定性
可行性:算法的每一步都必须是可行的,也就是说,每一步都能通过执行有限次数完成。
确定性:算法的每一步骤都具有确定的含义,不会出现二义性。算法在一定条件系,只有一条执行路径,相同的输入只能有唯一的输出结果。算法的每个步骤被精确定义而无歧义。
算法设计的要求
1、正确性
正确性:算法的正确性是指算法至少应该具有输入、输出和加工处理无歧义性、能正确反映问题的需求、能够得到问题的正确答案。
正确性可分四个层次
(1) 算法程序没有语法错误
(2) 算法程序对于合法的输入数据能够产生满足要求的输出结果
(3) 算法程序对于非法的输入数据能够得出满足规格说明的结果
(4) 算法程序对于精心选择的,甚至刁难的测试数据都有满足要求的输出结果
层次4是最困难的,我们几乎不可能逐一验证所有的输入都得到正确的结果。因此算法的正确性在大部分情况下都不可能用程序来证明,而是用数学方法证明的。证明一个复杂算法在所有层次上都是正确的,代价非常昂贵。所以一般情况下,我们把层次3作为一个算法是否正确的标准。
2. 可读性
3. 健壮性
当输入数据不合格时,算法也能做出相关处理,而不是产生异常或莫名奇妙的结果。
这一点与正确性的第三个层次相似。区别在于健壮性体现在输入不合格数据时,不至于把程序搞挂。
4. 时间效率高和存储量低
算法效率的度量方法
标签:步骤 链式 二义性 没有 顺序存储结构 描述 存储结构 数据 产生
原文地址:http://www.cnblogs.com/BinBinStory/p/7875587.html