【C# 数据结构】数组 广义表 稀疏矩阵
数组
数组是一种数据集合,数据元素按次序存储于一个地址连续的内存空间中。数组是其他数据结构实现顺序存储的基础。
线性表结构可以具有弹性,既可以是简单的数组,也可以扩展为复杂的数据结构----广义表
逻辑上数组可以看成二元组<下标,值>,哈希表也是二元组<健,值>
C#语言中,数组都是在运行时分配所需要的空间。
一维数组
则第i个教据元素的地址为:
addr(ai)=addr(a0)+i*c //addr(a0)为数组的首地址 C为每个元素占用c个存储单元
根据数组元素的下标就可计算出该元素的存储地址,因而可 存取数组元素的值,并且该操作的复杂度是O(1),具有这种特性的在储结构称为随机存储结构,数组是一种随机存储结构。
二维数组
二维数组表示数组的数组,二维数组常用来表示一个矩阵,由于存储的效率低,所有经常采用稀疏矩阵来压缩
Am×n表示由m×n个元素ai,j组成的矩阵,可以看成是由m行一维数组组成的(行)数组,或是n列一维数组组成的(列)数组。
矩阵Am×n也可以视为一种特殊的双重线性表,矩阵中的每个元素ai,j同时属于两个纡性表:第i行的线性表和第j列的线性表。
二维数组的顺序存储结构具有随机存储特性,对数组元素进行随机存取的时间复杂度为O(1)。
稀疏矩阵
当矩阵的非零元素只占据总元素的10%时,这类矩阵就叫稀疏矩阵(sparse matrix)。用矩阵的随机存储特性换取稀疏矩阵的压缩空间。
编程是个人爱好
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器