-
1
-
2
存储结构也有四类:
1.顺序存储:逻辑上相邻的数据元素存储在物理位置上相邻的存储单元中,这是一种最基本的存储表示方法。2.链式存储:逻辑上相邻的数据元素不要求其物理位置上相邻,数据元素间的逻辑关系通过附设的指针字段值来指示,这是数据结构中最常见的一种存储表示方法。3.索引存储:用上述基本方法存储数据元素同时,还建立一个附加的索引表提高检索的速度和性能。4.散列存储:依据数据元素的关键字值,用散列函数计算出该数据元素的对应的存储地址,依据冲突处理办法实施对数据元素的存储和检索。
u数据类型(DataType):一组值的集合以及定义于这个值集上的一组操作的总称。
例如:C++中的整型变量
u抽象(Abstract):抽出问题本质的特征而忽略非本质的细节。
例如: 地图、驾驶汽车
u抽象数据类型(AbstractData Type,ADT):一个数据结构以及定义在该结构上的一组操作的总称。
ADT抽象数据类型名称{
数据对象:<数据对象的定义>
数据关系:<数据逻辑关系的定义>
基本操作集:
操作名1:
<基本操作1初始条件描述>
<基本操作1操作结果描述>
……
操作名n:
<基本操作n初始条件描述>
<基本操作n操作结果描述>
}ADT抽象数据类型名称
1.算法(Algorithm):是对特定问题求解步骤的一种描述,是指令的有限序列。
2. 算法的五大特性:
⑴ 输入:一个算法有零个或多个输入。
⑵ 输出:一个算法有一个或多个输出。
⑶ 有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
⑷ 确定性:算法中的每一条指令必须有确切的含义,对于相同的输入只能得到相同的输出。
⑸ 可行性:算法描述的操作可以通过已经实现的基本操作执行有限次来实现。
2. 算法的五大特性:
⑴ 输入:一个算法有零个或多个输入。
⑵ 输出:一个算法有一个或多个输出。
⑶ 有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
⑷ 确定性:算法中的每一条指令必须有确切的含义,对于相同的输入只能得到相同的输出。
⑸ 可行性:算法描述的操作可以通过已经实现的基本操作执行有限次来实现。
1.设计一个容易理解、编码和调试的算法。
2.设计一个能有效利用计算机资源的算法。
算法质量考虑因素:
⑴正确性(Correctness):算法的执行结果应当满足预先规定的功能和性能要求。
⑵可读性(Readability):一个算法应当思路清晰、层次分明、简单明了、易读易懂。
⑶健壮性(Robustness):当输入不合法数据时,应能作适当处理,不至引起严重后果。
⑷有效性(Efficient):判断依据主要是效率和低存储量。