程序=数据结构+算法
什么是数据结构?
数据:是所有能够输入到计算机中,且能被计算机处理的符号的集合。
结构:是指数据之间的关系。
数据结构:就是将数据及其之间的关系有效地存储在计算机中并进行基本操作。
算法:是对特定问题求解步骤的一种描述,就是解决问题的方法和策略。
数据结构中的几个基本概念
数据:数据是指所有能输入到计算机中的描述客观事物的符号,包括文本、声音、图像、符号等。
数据项:数据项表示有独立含义的数据最小单位,也称域。若干个数据项构成一个数据元 素,数据项是不可分割的最小单位
数据元素:数据元素是数据的基本单位,也称节点或记录
数据对象:数据对象是指相同特性的数据元素的集合,是数据的一个子集。
数据结构的组成
一个数据结构的组成分别是:逻辑结构、存储结构、数据运算。
逻辑结构:数据之间的关系(逻辑关系),包括集合、线性结构、树形结构、图形结构。
存储结构:数据元素及其关系在计算机中的存储方式,顺序存储、链式存储、散列存储和索引存储。
运算:能实现什么操作,施加在该数据的操作
逻辑结构 ----> 映射 -----> 存储结构
逻辑结构的类型:集合
特点:元素之间没有关系,数据元素之间除了“属于同一个集合”的关系外,别无其他逻辑关系。如下图:
逻辑结构的类型:线性结构
特点:元素之间关系是一对一的,开始元素和终端元素都是唯一的,除此之外,其余元素都有且仅有一个前驱元素和一个后继元素。如下图:
逻辑结构的类型:树形结构
特点:元素之间关系是一对多的,开始元素唯一,终端元素不唯一。除终端元素以外,每个元素有一个或多个后续元素;除开始元素外,每个元素有且仅有一个前驱元素。如下图:
逻辑结构的类型:图形结构
特点:元素之间关系是多对多的,所有元素都可能有多个前驱元素和多个后继元素。如下图:
存储结构:顺序存储
特点:所有元素占用一整块内存空间。逻辑上相邻的元素,物理上也相邻。借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。
存储结构:链式存储
特点:一个逻辑元素用一个结点存储,每个结点单独分配,所有结点的地址不一定是连续的。
用指针来表示逻辑关系。
算法
数据运算是对数据的操作。最常用的运算有检索、插入、删除、更新和排序等。
同样的运算,在不同的存储结构中,其实现过程是不同的。
例如:删除,在顺序存储和在链式存储中,它们的实现是不用的。
以上可以简单总结如下:
结论:
1、同一逻辑结构可以对应多种存储结构。
2、同样的运算,在不同的存储结构中,其实现过程是不同的。