数据结构 数组和广义表

本文详细介绍了数组和广义表的数据结构。数组包括一维、二维及n维数组,强调了顺序存储结构和随机存储结构。矩阵的压缩存储中提到了对称矩阵和稀疏矩阵的存储优化。广义表的概念、形式表示、原子和子表的定义,以及其存储结构和递归算法被深入探讨。重点讨论了特殊矩阵的压缩存储和广义表的链式存储结构,如三元组顺序表、行逻辑链接的顺序表和十字链表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 数组的定义

n维数组中含有 ∏ i = 1 n b i \prod _ {i = 1} ^ n b_i i=1nbi个数据元素,每个数据元素都受着n个关系的约束

在每个关系中,元素 a j 1 j 2 ⋯ j n ( 0 ≤ j i ≤ b i − 2 ) a _ {j _ 1 j _ 2 \cdots j _ n}(0 \le j _ i \le b _ i - 2) aj1j2jn(0jibi2)都有一个直接后继元素。

因此,就其单个关系而言,这n个关系仍是线性关系。

  • 与线性表一样,所有数据元素都必须属于同一数据类型。

  • 数组一旦被定义,它的维数和维界就不再改变。因此,除了结构的初始化和销毁之外,数组只有存取元素和修改元素值的操作。

2 数组的顺序表示和实现

由于数组一般不做插入或删除操作,

因此,我们采用顺序存储结构表示数组。

2.1 二维数组

二维数组可以以列序为主序,也可以以行序为主序。

以行序为主序

L O C (

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值