概述:
被算法处理的数据必须按一定的规则来组织,当这些数据之间存在一种或多种特定关系时,我们就称这些关系为结构。
结构有分为逻辑结构和存储结构,存储结构是指数据元素的物理位置上的关系,逻辑结构是对存储结构的抽象,是一种抽象出来的结构。
平常所说的数据结构就是指数据的逻辑结构。
三种基本的逻辑结构:
- 线性结构:数据元素之间为一对一关系;
- 树结构:数据元素之间为一对多关系;
- 图结构:数据元素之间为多对多关系;
二种基本的存储结构:
- 顺序存储结构:在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构, 常见的有: 顺序表
- 非顺序存储结构:在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的). 常见的有:单链表、链表、散列(哈希)、索引
在进行程序设计的时候,要清楚每种逻辑结构的存储结构,这样会提高算法的效率等、、
2.1 最简单的结构:线性表
线性表是线性结构的一种,它是最简单、最基本、最常用的的一种数据结构,是其它数据结构的基础。
这里介绍线性表的2中存储形式:顺序存储和链式存储,分别叫顺序表和单链表。
数组的存储结构是顺序存储结构,不管几维的数组。
逻辑就是对规则、思维等的具体的形象化(或语义化)描述。逻辑就是论理。
注:
1.很多术语其实包含了逻辑结构和存储结构2方面的含义的,而不是单指逻辑结构或存储结构。
2.顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。链式线性表和链表是2个概念。