绪论
关于数据结构
1.数据结构的重要性
程序设计=数据结构+算法
概念
1.数据
描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别并输入给计算机处理的符号集合;
- 可以被输入到计算机里
- 能被计算机程序处理
2.数据对象
性质相同的数据元素的集合,是数据的子集
3.数据元素
组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录
4.数据项
一个数据元素可以由多个数据项组成,数据项是不可分割的最小单位。
5.数据结构
相互之间存在一种或者多种特定关系的数据元素的集合
逻辑结构与数据结构
逻辑结构是面向问题的,物理结构是面向计算机的
1.逻辑结构
数据对象中元素之间的相互关系 (逻辑结构是针对具体问题的,是为了解决某个问题,在对问题理解的基础上,选择一个合适的数据结构表示数据元素之间的逻辑关系)
(1)集合结构
各数据元素是“平等”的,同属于一个集合
(2)线性结构
数据元素之间是一对一的关系
(3)树形结构
数据元素之间存在一对多的数据关系
(4)图形结构
数据机构之间存在多对多的数据关系
2.物理结构(存储结构)
数据的逻辑结构在计算机中的存储方式
数据的存储结构应能正确反映数据元素之间的逻辑关系,如何存储数据结构的逻辑关系是实现物理结构的重点和难点
(1)顺序存储结构
把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的
(2)链式存储结构
把数据元素存储在任意的存储单元里,存储单元不一定连续,其存储关系并不能反映逻辑关系,因而用一个指针存储数据元素的地址,通过地址找到相关联数据元素的位置。