程序设计 = 数据结构 + 算法
数据
是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。
前提:
1、·可以输入到计算机中。
2、能被计算机程序处理。
数据元素
组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。例如我们每个就是人类这一同性质组合中的元素。
数据项
一个数据元素可以由若干个数据项组成。我们每个人都由鼻子、耳朵、手等等数据项组成。数据项是数据不可分割的最小单位。
数据对象
性质相同的数据元素的集合,是数据的子集。
数据结构
相互之间存在一种或多种特定关系的数据元素的集合。
逻辑结构
逻辑结构:
指数据对象中数据元素之间的相互关系。
1、集合结构
集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系。其关系类似数学的中的集合。
2、线性结构
数据元素之间是一对一的关系。
3、树形结构
数据元素之间存在一种一对多的层次关系。
4、图形结构
图形结构的数据元素是多对多的关系。
物理结构
物理结构:
数据的逻辑结构在计算机中的存储形式。
1、顺序存储结构
把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。如下图所示。
典型的就是数组了。
2、链式存储结构
把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。数据元素的存储关系并不能反映其逻辑关系。
PS:
学习书籍:《大话数据结构》