数据结构之数组、矩阵和广义表

本文详细介绍了数据结构中的关键概念,包括数组的定义、基本运算以及顺序存储,矩阵的特殊矩阵和稀疏矩阵,以及广义表的逻辑结构、存储结构和基本操作。重点强调了这些数据结构在程序设计中的重要性和高效处理方法。
摘要由CSDN通过智能技术生成


  数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从问题出发,分析和研究计算机加工的数据的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的操作方法,为提高利用计算机解决问题的效率服务。
  数据结构是指数据元素的集合及元素间的相互关系和构造方法。元素之间的相互关系是数据的 逻辑结构,数据元素及元素之间关系的存储称为 存储结构(或物理结构)。数据结构按照逻辑关系的不同分为 线性结构非线性结构两大类,其中,非线性结构又可分为树结构和图结构。
  线性结构是一种基本的数据结构,主要用于对客观世界中具有单一前驱和后继的数据关系进行描述。线性结构的特点是数据元素之间呈现一种线性关系,即元素“一个接一个排列”。
  数组与广义表可看作是线性表的推广,其特点是数据元素仍然是一个表。这里讨论多维数组的逻辑结构和存储结构,特殊矩阵和矩阵的压缩存储,广义表的逻辑结构、存储结构和基本运算。

1、数组

1.1、数组的定义及基本运算

  (1)数组的定义
  数组是定长线性表在维数上的扩展,即线性表中的元素又是一个线性表。n 维数组是一种“同构”的数据结构,其每个数据元素类型相同、结构一致。
  设有 n 维数组 A[b1,b2,…,bn],其每一维的下界都为 1,bi是第 i 维的上界。从数据结构的逻辑关系角度来看,A 中的每个元素 A[j1,j2,…,jn] (1≤ji≤bi) 都被 n 个关系所约束。在每个关系中,除第一个和最后一个元素外,其余元素都只有一个直接后继和一个直接前驱。因此就单个关系而言,它仍是线性的。
  以二维数组 4[m,n]为例,可以把它看成是一个定长的线性表,它的每个元素也是一个定长线性表。
在这里插入图片描述

  A 可看成一个行向量形式的线性表:
A m , n = [ [ a 11 a 12 ⋅ ⋅ ⋅ a 1 n ] , [ a 21 a 22 ⋅ ⋅ ⋅ a 2 n ] , ⋅ ⋅ ⋅ , [ a m 1 a m 2 ⋅ ⋅ ⋅ a m n ] ] A_{m,n}=[ [a_{11} a_{12} ···a_{1n}],[a_{21} a_{22} ··· a_{2n}] ,···,[a_{m1}a_{m2}···a_{mn}]] Am,n=[[a11a12⋅⋅⋅a1n],[a21a22⋅⋅⋅a2n],⋅⋅⋅,[

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值