
数据结构之数组
掌握顺序存储结构中一维、二维、三维数组元素地址计算方法。 掌握特殊矩阵(对称、三对角)的存储方法和元素地址计算。 掌握稀疏矩阵的存储方法及转置算法。
发布日期:2021-05-07 23:21:28
浏览次数:15
分类:精选文章
本文共 1220 字,大约阅读时间需要 4 分钟。
数组(数据结构)
数组的导学
课程结构
本章将从数组的基础知识入手,深入探讨数组的存储结构及其应用。
知识点线索
数组是一种特殊的线性表结构,其每个数据元素本身又是线性表。数组可以采用顺序存储或链式存储方式。
主要内容
数组的存储
不同语境中的数组
高级程序设计语言中的数组
- 定义方式:如
int a[N];
,N为符号常量。 - 存储方式:采用顺序存储。
- 实现角度:重点讨论其内存布局。
数据结构中的数组
- 定义:n(n>1)个相同类型数据元素a1、a2、…、an构成的有限序列。
- 逻辑表示:A=(a1, a2, ..., an)。
- 存储方式:可为顺序存储或链式存储。
数组的抽象数据类型(ADT)
数据对象
数组中的每个数据元素属于同一种数据类型,具有相同类型的元素集合是数组。
数据关系
数组中的数据元素是一对一的线性关系。
基本操作
数组ADT中定义了一系列基本操作,但本文不做详细阐述。
维度不同的数组
一维数组
每个数据元素由值和下标组成。二维数组
每个数据元素是相同类型的一维数组的一维数组。多维数组
都可以看作是线性表,线性表中的每个数据元素也是一个线性表。数组的存储地址
数组的存储结构
要求数组所有元素存储在一块地址连续的内存单元中。
一维数组的存储地址
- 一维数组a[0]~a[9]存储在连续内存空间中,每个元素占L个字节。
- 元素地址计算:
a + i * L
,其中i为下标。
二维数组的存储地址
- 二维数组可以看成特殊的一维数组。
- 行优先存储:存储顺序为a1,a2,...,ap。
- 列优先存储:存储顺序为a1,a2,...,an。
特殊矩阵的压缩存储
什么是特殊矩阵
非零元素或零元素分布有规律的矩阵。
矩阵的存储方案
直接用二维数组存储
通常用于一般矩阵。特殊矩阵压缩存储
- 对称矩阵:只存储下三角或上三角,包括主对角线。
- 对角矩阵:只存储主对角线上的非零元素。
- 稀疏矩阵:只记录非零元素,节省空间。
对称矩阵
定义
n阶方阵A[n][n],满足a[i][j] = a[j][i]
(0≤i,j≤n-1)。
存储
只存储下三角或上三角,包括主对角线。
对角矩阵
定义
非零元素集中在主对角线附近的带状区域。
特征
- 半带宽b:主对角线上下方各有b条次对角线。
- (2b+1):矩阵的带宽。
三对角矩阵(b=1)的压缩存储
- 只存储带状区内的元素。
- 共有3n-2个非零元素。
稀疏矩阵
定义
阶数较大的矩阵中非零元素个数远小于总元素个数。
特点
- 大多数元素为零。
- 稀疏因子e = s/(m*n),通常e≤0.05时称为稀疏矩阵。
存储方式
- 顺序存储:三元组表。
- 链式存储:十字链表。
以上内容结合了对数组数据结构的基础知识和实际应用,全面阐述了数组的存储方式及特殊矩阵的压缩存储方法。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月23日 04时56分06秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
STM8 GPIO模式
2019-03-05
omnet++
2019-03-05
23种设计模式一:单例模式
2019-03-05
Qt中的析构函数
2019-03-05
C语言实现dijkstra(adjacence matrix)
2019-03-05
三层框架+sql server数据库 实战教学-徐新帅-专题视频课程
2019-03-05
【单片机开发】智能小车工程(经验总结)
2019-03-05
【单片机开发】基于stm32的掌上游戏机设计 (项目规划)
2019-03-05
C++&&STL
2019-03-05
子集(LeetCode 78)
2019-03-05
微信js-sdk使用简述(分享,扫码功能等)
2019-03-05
mxsrvs支持thinkphp3.2伪静态
2019-03-05
c++中ifstream及ofstream超详细说明
2019-03-05
vuex modules
2019-03-05
sleep、wait、yield、join——简介
2019-03-05
web项目配置
2019-03-05
基于单片机简易信号误差分析设计-全套资料
2019-03-05
基于单片机简易脉搏测量仪系统设计-毕设课设资料
2019-03-05
Javascript中String支持使用正则表达式的四种方法
2019-03-05
eclipse引用sun.misc开头的类
2019-03-05