一、数据是什么?
数据是信息的载体,是能够描述客观事物并且能被计算机识别和处理的“符号”的集合。
二、数据的结构
1、逻辑结构:
1-1 逻辑上描述数据,代表数据之间的逻辑关系,与数据的物理存储方式无关。
1-2数据的逻辑机构可分为 线性结构 和 非线性结构。2、存储结构:
2-1数据结构在计算机中的表示,也称物理结构,是用计算机语言实现的逻辑结构,依赖于计算机语言。
2-2存储结构的存储方式主要有:顺序存储、链式存储、索引存储(附带索引表)、散列存储(哈希存储)。3、数据的运算:
3-1数据的运算包括 运算的定义和实现
3-2运算的定义是针对逻辑结构,指出运算的功能(逻辑上对数据运算的定义)。
3-3运算的实现是针对存储结构,指出运算的具体操作步骤(物理实现步骤)。
三、算法与算法评价
1、算法基本概念
1-1算法是对 特定问题求解步骤的一种描述,是指令的有限序列(有限条代码实现)。
1-2算法具有5个重要特性(算法必须具有):1-2-1有穷性:在有穷的时间内完成。
1-2-2确定性:相同的输入只能得到相同的输出。
1-2-3可行性:可以通过有限次的基本运算来实现。
1-2-4输入:没有输入或有输入都可行。
1-2-5输出:必须有一个以上的输出,而且输入与输出有着某种特定关系。1-3一个好的算法应考虑的目标:
1-3-1正确性:能够正确的求解问题。
1-3-2可读性:有良好的可读性,便于理解和维护。
1-3-3健壮性:对于非法的输入能够做出反应和处理,使之不会产生莫名其妙的输出。
1-3-4效率的低储存的需求:算法所消耗的时间和占用的空间应尽量达到最优。2、算法评价(效率的度量)
1、时间复杂度:算法中语句执行的次数( 频度之和,记为T(n)或n )与时间的关系。通常记O(n)。
2、空间复杂度:算法运行所占用的存储空间,记S(n)或O(n)。