数据结构之数组
来源:互联网 发布:淘宝看数据的插件 编辑:程序博客网 时间:2024/06/13 23:06
数组的考点:
1.二维数组元素地址计算;三维数组中元素个数的计算(选择题)
2.广义表的基本概念(会求表尾、表头,填空题)
3.矩阵的压缩存储(压缩存储的目的;对称矩阵压缩存储后的大小,填空题)
针对考点,一一击破。哈哈哈。
第一部分
首先,二维数组元素地址计算。
一个m行n列的二维数组中任一元素aij的内存单元地址:
LOC(aij)=LOC(a00)+(i*n+j)*k
(0≤i<m, 0≤j<n)
注:只要知道以下三要素便可随时求出任一元素的地址(意义:数组中的任一元素可随机存取) ①开始结点的存放地址(即基地址); ②维数和每维的上、下界; ③每个数组元素所占用的单元数
例题1:设数组a[0…60, 0…70]的基地址为2048,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[32,58]的存储地址为6708.
根据行优先公式 LOC(aij)=LOC(a00)+(i*n+j)*k (0≤i<m,0≤j<n)
得:LOC(a32,58)=2048+(32*71+58)*2=6708
例2:设数组a[6][7]的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[5,6]的存储地址为
答:根据行优先公式 LOC(aij)=LOC(a00)+(i*n+j)*k (0≤i<m,0≤j<n)
得:LOC(a5,6)=2000+(5*7+6)*2=2082 。
其次,三维数组中元素个数的计算:
不知道。。。。
第二部分
广义表的基本概念:广义表是由零个或多个原子或子表组成的有限序列,是线性表的推广
当广义表LS非空时,称第一个元素d1为LS的表头(Head),称其余元素组成的子表(d2,…,dn)是LS的表尾(Tail)
任何一个非空广义表 LS = ( 1, 2, …, n)
均可分解为
表头 Head(LS) = 1 和
表尾 Tail(LS) = ( 2, …, n) 两部分。
第三部分
压缩存储的目的:当矩阵的阶数较高,而且矩阵中的一些元素有特殊的性质时,可以采用节省空间的存储办法(压缩存储)
对称矩阵压缩存储后的大小:n2个元素可以压缩到n(n+1)/2个空间中
- 数据结构之后缀数组
- 数据结构之树状数组
- 数据结构之后缀数组
- 数据结构之树状数组
- 数据结构之树状数组
- 数据结构之数组
- 数据结构之树状数组
- 数据结构之数组
- 数据结构之树状数组
- 数据结构之数组
- 数据结构之数组
- 数据结构之数组实现
- 【数据结构之树状数组】
- 数据结构之树状数组
- 数据结构之树状数组
- 数据结构之后缀数组
- 数据结构之树状数组
- 数据结构之后缀数组
- JAVA中的注解(Annotation)
- junit4和spring test测试之AbstractTransactionalJUnit4SpringContextTests详解
- [JZOJ4512][JSOI2016]最佳团队
- ARM基础系列——ARM指令集
- HDU2014 青年歌手大奖赛_评委会打分
- 数据结构之数组
- find和ls文件查找
- 在Eclipse中使用JUnit4进行单元测试(初级篇)
- 第一章:Introducing DirectX
- acm之递归题目5
- js文件报错,去除js验证
- [LeetCode]problem 166. Fraction to Recurring Decimal
- 哈夫曼树与哈夫曼编码
- 在Eclipse中使用JUnit4进行单元测试(中级篇)