数据结构基本概念
什么是数据结构
程序=数据结构+算法
1、 数据结构的定义:讨论和研究计算机系统中数据的组织形式及相互关系。
2、 数据:用计算机对客观事物进行识别、存储和加工所进行的描述统称为数据,其基本单位。是数 据元素 (数据节点),例如:十进制、二进制常数、字母、字符、程序段、图形图像、语音文件等。
3、 结构:指事物的相互关系和约束。
数据结构的三层次
- 数据的逻辑结构——数据元素间的逻辑关系
线性结构:线性表
非线性结构:树、图 - 数据的存储结构——数据在计算机中的存储方式
顺序存储:把逻辑上相邻的数据元素存储中物理位置上相邻的存储单元中。
链接存储(数据项|指针):a1,a2,a3…an
索引存储:建立索引表(关键字·地址),稠密索引(dense index)、稀疏索引(sparse index)
散列存储:关键字→地址 - 数据操作集合
查找、排序、遍历、插入、更新、删除
数据常见物理存储结构
-
顺序存储结构
把数据元素按某种顺序存放中一块连续的存储单元中的存储形式。
特点:
连续存放;逻辑上连续物理上也连续。
结构简单,易实现。
插入、删除操作不方便。 -
链式存储结构
以链表形式将数据存放于任意存储单元,可连续存放也可不连续存放,以指针实现链表联系。
特点:
非连续存放,借助指针来表示元素关系;
插入、删除操作简单,只要修改指针;
结构较复杂,需要额外存储空间。 -
索引存储结构
数据按索引形式存放。储存时分为:数据项和索引号;通过索引表记录逻辑号(关键字)和物理号(地址)之间是对应关系。
关键字|地址序号 1 2 3 4 5 地址 55 63 23 14 33 关键字 4 5 3 1 2 特点:
非连续存放;
检索速度快;
增、删操作简单。 -
散列存储结构
在数据元素与存储位置之间建立一种存储关系F,根据这种关系F,已知元素E,就可以得到它的存储地址,即D=F(E)。
哈希查找中的哈希表就是这样的一种存储结构。
特点:
数据元素间无内在联系;
存储形式不稳定。