数据的逻辑结构和存储结构(物理结构)详解
什么是数据结构数据的逻辑结构集合线性结构树形结构图形结构数据的物理结构(存储结构)1、顺序存储结构2、链式存储结构3、索引存储结构4、哈希存储结构存储结构特点顺序存储结构的特点非顺序存储的特点分类线性结构的特征非线性结构的特征什么是数据结构
数据结构,直白地理解,就是研究数据的存储方式。这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。
数据的逻辑结构
指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后间关系,而与他们在计算机中的存储位置无关。逻辑结构包括
集合
数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;
线性结构
数据结构中的元素存在一对一的相互关系;
树形结构
数据结构中的元素存在一对多的相互关系;
图形结构
数据结构中的元素存在多对多的相互关系;
数据的物理结构(存储结构)
数据的逻辑结构在计算机存储空间中的存放形式
一种数据结构的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序存储、链式存储、索引存储和哈希存储等。
1、顺序存储结构
存储顺序是连续的,在内存中用一组地址连续的存储单元依次存储线性表的各个数据元素。
2、链式存储结构
在内存中的存储元素不一定是连续的,用任意地址的存储单元存储元素,元素节点存放数据元素以及通过指针指向相邻元素的地址信息。
3、索引存储结构
除建立存储结点信息外,还建立附加的索引表来标识节点的地址。索引表由若干索引项组成。(顺序存储+索引)
4、哈希存储结构
又称Hash存储,由节点的关键码值决定节点的存储地址。(顺序存储+算列)
存储结构特点
顺序存储结构的特点
借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;
非顺序存储的特点
借助指示元素存储地址的指针表示数据元素之间的逻辑关系。
分类
数据结构有很多种,一般来说,按照数据的逻辑结构对其进行简单的分类,包括线性结构和非线性结构两类。
线性结构的特征
线性结构是非空集。线性结构有且仅有一个开始结点和一个终端结点。线性结构所有结点都最多只有一个直接前趋结点和一个直接后继结点。线性表就是典型的线性结构,还有栈、队列和串等都属于线性结构
非线性结构的特征
非线性结构是非空集。非线性结构的一个结点可能有多个直接前趋结点和多个直接后继结点。数组、广义表、树结构和图结构等数据结构都属于非线性结构。