一.程序 = 算法 + 数据结构。
- 1:数据结构指的是数据的逻辑结构和存储结构。
- 2:算法是对数据结构运算的描述。
二.基本概念和常用术语
1:基本概念
- 数据:描述客观事物的数、字符以及能输入计算机中并被计算机处理的符号的集合。
- 数据蒜素:数据的基本单位。
- 数据对象:具有相同性质的数据元素的集合,是数据的一个子集。
- 数据结构:带有结构的数据元素的集合。(结构指的是数据元素之间的相互关系,结构中的数据元素成为结点)
2:数据结构包含的内容(三个方面)
1) 数据元素之间的逻辑关系,即数据的逻辑结构。
逻辑结构是从具体事物中抽象出来的数学模型。分为线性结构和非线性结构。
2) 数据元素及其关系在计算机内的存储方式,即数据的存储结构(物理结构)。
基本的存储方法:
a, 顺序存储。
b, 链接存储。
c, 索引存储。
d, 散列存储。
3) 数据的运算。
数据的运算是定义在数据的逻辑结构上的,每种逻辑结构都有一个运算的集合,最常用的运算有:检索、插入、删除、更新和排序等。
3:算法
3.1:算法是对问题求解步骤的一种描述,就是一种解题的方法。它是由若干条指令组成的有穷序列,每条指令标识一个或多个操作。
3.2:算法必须满足的准则
1) 输入。
2) 输出。
3) 有穷性。
4) 确定性。
5) 可行性。
3.3:算法的优劣
算法的优劣首先要考虑的是正确性,而后需要考虑以下几点:
1) 时间复杂性:执行算法所消耗的时间。
2) 空间复杂性:执行算法所消耗的存储空间。
3) 可读性和可操作性:算法应易于理解、变成和调试等。
以上最主要的为之间复杂性。
时间复杂性通常有:
1) 常数阶O(1)。
2) 对数阶O(log2n)。
3) 线性阶O(nlog2n)。
4) 线性对数阶。
5) 平方阶、立方阶...k次方阶。
6) 指数阶。
7) 阶乘阶O(n!)。
三. 总结
在了解了数据结构的基本概念和基础知识后,我们能知道学习数据结构从以下几点内容着手:
1、不同数据结构的基本概念、性质和术语。
2、不同数据结构的存储方式和基本运算。