三要素:数据的逻辑结构,数据的存储结构,数据运算
一、数据的逻辑结构:是指数据元素之间的逻辑关系,从逻辑上描述数据。与数据的存储无关,独立于计算机。数据的逻辑结构分为线性结构和非线性结构。
四种逻辑结构:1.集合、2.线性结构、3.树形结构、4.图状结构
线性表是典型的线性结构;集合、树、图是典型的非线性结构
1.集合:结构中的数据元素之间同属于一个集合外,无其它关系
2.线性结构:结构中数据元素之间只存在一对一的关系。(除第一个元素外,每个元素都有唯一的前驱,除最后一个元素外,每个元素都有唯一的后继)
3.树形结构:数据元素之间存在一对多的关系。
4.图状结构:数据元素之间存在多对多关系。
二、数据的存储结构:存储结构指数据结构在计算机中的表示,也称物理结构。包括数据元素的表示和关系的表示。数据存储结构是用计算机语言实现的逻辑结构。
数据的存储结构主要有:顺序存储,链式存储,索引存储,散列存储。
1.顺序存储:把逻辑上相邻的数据元素存储在物理位置上也相邻。可以实现随机存取,每个元素占用最少的存储空间,但是只能使用相邻的存储空间,进行删除和插入操作比较繁琐。
2.链式存储:用指针来表示元素之间的逻辑关系,对元素的删除插入比较简单,对元素的查找比较繁琐,只能实现顺序存储。
3.索引存储:建立元素信息的同时,还附加了索引表。检索速度快,但是附加的索引表会占用内存空间,增加和删除数据也要修改索引表,花费较多的时间。
4.散列存储:根据元素的关键字直接计算出该元素的存储地址,当散列函数不好,可能会出现存储单元的冲突。
三、数据的运算:包括数据的定义和实现。运算的定义针对的是逻辑结构,运算的实现针对的是存储结构。