首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
设有一个10阶对称矩阵A[10][10],采用压缩存储方式按
[单选题]
设有一个10阶对称矩阵A[10][10],采用压缩存储方式按行将矩阵中的下三角部分的元素存入一维数组B[ ]中,A[0][0]存入B[0]中,则A[8][6]在B[ ]的( )位置。
32
33
42
65
查看答案及解析
添加笔记
求解答(24)
邀请回答
收藏(852)
分享
28个回答
添加回答
88
三五大汉
由于是对称矩阵,因此压缩存储可以认为只要存储下三角矩阵。
(0,0) 1
(1,0)(1,1) 2
(2,0)(2,1) (2,2) 3
(3,0)
(3,1) (3,2) (3,3) 4
(4,0)
(4,1) (4,2) (4,3) (4,4) 5
(5,0)
(5,1) (5,2) (5,3) (5,4) (5,5) 6
(6,0)
(6,1) (6,2) (6,3) (6,4) (6,5) (6,6) 7
(7,0)
(7,1) (7,2) (7,3) (7,4) (7,5) (7,6) (7,7) 8
(8,0)
(8,1) (8,2) (8,3) (8,4) (8,5) (8,6) 6
1+2+3+4+5+6+7+8+6=42
答案选c
发表于 2017-10-08 11:49:58
回复(8)
29
Traveling_L1ght
本题下标从i=0,j=0开始,A[8][6]实际上是第9行第7列。i=9,j=7。
计算公式为:当
i>j,
i(i-1)/2+j;
当i<j, j(j-1)/2+i;
编辑于 2019-07-22 16:46:43
回复(2)
17
diny
设有一个N阶对称矩阵A[N][N],采用压缩存储方式按行将矩阵中的下三角部分的元素存入一维数组B[ ]中,A[0][0]存入B[0]中,则A[ i ][ j ]在B[ ]的 ((i+1) *i)/2+j 位置。
发表于 2018-09-15 01:31:29
回复(0)
14
alistair00
(1+8) * 8 / 2 + 7 = 43,下标从0开始,减1=42
发表于 2017-06-12 21:39:17
回复(0)
10
门头沟落魄打工人
A[8][6]中有多少个元素:分为求完整的等腰三角形和最后的一行两部分。
等腰三角形是等差数列:8*(8+1)/2=36
最后一行索引为6,有6+1个元素
故总共有36+7=43个元素
这些元素放入数组B中,索引从0开始,故占位减1: 43-1=42
发表于 2019-05-08 10:44:01
回复(1)
4
37℃8
我觉得是43,有人知道为什么是41吗
发表于 2017-05-19 20:11:46
回复(5)
3
菜鸟来也
十阶对称矩阵总共100个元素,除去正对角线的十个元素还剩90,90/2=45,得到除正对角线上的下三角元素个数,所以下三角总共有45+9=54个元素. 对于A[8][6],其位于第九行第七列(数组从A[0][0]开始). 除去第十行10个(A[9][0]~A[9][9]),第九行2个元素(A[8][7],A[8][8]),所求即为54-10-2=42.
发表于 2019-08-05 15:13:21
回复(0)
3
@追星逐月@
A[]8[0]以前:1+2+3+4+5+6+7+8=36,A[8][0]~A[8][6],6-0+1=7,36+7-1=42,因为数组B,从B[0]开始。
发表于 2017-09-28 12:32:06
回复(0)
2
技术小咔
等差数列求和,哇咔咔
发表于 2017-09-03 16:56:10
回复(0)
1
我头很大
1十2+3+4+5+6+7+8十7=43,因为下标从0开始,所以-1,为42
发表于 2020-03-30 22:34:36
回复(0)
1
最后的最后的最后
做了这么多这题,总是在+1和-1的地方间歇性犯浑!我也是醉了。。。
发表于 2017-12-30 20:18:36
回复(0)
1
QLMX
1+2+...+8+7 等差数列求和
发表于 2017-08-08 16:50:28
回复(0)
0
小比尔1024
8*(8+1)/2+6=42
发表于 2023-08-09 10:42:02
回复(0)
0
途中风景
对称矩阵,存储下三角。 注意下标从0开始。所以A[8][6]实际上是第9行第7个元素。在一维数组中存储的元素个数应该是1+2+3+4+5+6+7+8+7=43个,又一维数组下标也是从0开始,所以下标是43-1=42
发表于 2023-05-23 15:01:14
回复(0)
0
Dada99
对称矩阵推导公式:
第A[i][i]个位置(3+i)* i /2
得A[8][8]的位置(3+8)*8/2 = 44;
=>A[8][6] = 44 - 2 = 42
C项正确
发表于 2022-09-14 01:27:48
回复(0)
0
牛客576074546号
A[8][6] = A[8][8] -2 =1+2+3+4+5+6+7+8+9
-1
-2
发表于 2022-09-07 16:57:25
回复(0)
0
baimale
A[8][6]是B数组的第43个元素,写成B[42]B的下标从0开始
发表于 2022-09-02 22:28:37
回复(0)
0
Job-founder
10*10的矩阵啊,10+9+8+7+6+2=42
发表于 2022-07-29 22:03:28
回复(0)
0
AprilFighting
解释一下为什么最后43要减去1,因为大家计算43指向的是A[8][6]的偏移尾地址了,而应该是要指向首地址,即为A[8][5]的尾地址,这就是为什么要减1的原因
发表于 2022-05-29 13:02:27
回复(0)
0
牛客730542094号
第43个,是B[42]
发表于 2022-05-24 10:01:13
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
数组
上传者:
阿奻_
难度:
28条回答
852收藏
7686浏览
热门推荐
相关试题
假定一个待哈希存储的线性表为(32...
哈希
评论
(1)
5.下列判断正确的是( )
资料分析
言语理解与表达
资料分析
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
你有没有崇拜的偶像,你欣赏他/她身...
通用能力
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题