牛客网试题+答案分析+大牛面试经验(2)

这篇博客主要涵盖牛客网上的一些编程题目,包括数组的引用、存储、操作及特殊结构如稀疏矩阵的压缩存储方式。同时,讨论了数组在实际应用中的时间复杂度问题、环形队列的元素计数以及二维数组的初始化等知识点。文章还涉及了指针和数组的交互使用,提供了面试中的常见错误引用示例。

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

(1)若有说明:int a[3][4];,则对 a 数组元素的非法引用是( )

					A、a[0][2*1]
					B、a[1][3]
					C、a[4-2][0]
					D、a[0][2+2]
					答案:D
					解析:a[0][4]相当于第一行第5个元素,而a是三行四列的数组,下标最大的元素为a[2][3],即第三行第4个元素;
					D 下标从0开始,从0开始,从0开始 重要的事说三遍;
					错误的原因在于溢出了。

(2)数组通常具有的两种基本操作是()

						A、查找和修改
						B、查找和索引
						C、索引和修改
						D、建立和删除
						答案:A
						解析:一定要注意,索引表示的是数组的下标,而不是一种操作。

(3)设有一个 10 阶的对称矩阵 A ,采用压缩存储方式,以行序为主存储, a1 , 1 为第一个元素,其存储地址为 1 ,每个元素占 1 个地址空间,则 a8 , 5 的地址为 。

					A、13
					B、33
					C、18
					D、40
					答案:B
					解析:对称矩阵,只需要存一半就行了, 第一行:1个 第二行:2个 第三行:3个 ...以此类推到第七行;
					 第八行:1~5,前5个 所以:1+2+3+4+5+6+7 再加 5 总共得:33;
					 需要注意的地方是:需要注意的是,对阵矩阵,以下三角方式存。

(4)稀疏矩阵一般的压缩存储方式有两种,即 。

				A、二维数组和三维数组
				B、三元组和散列
				C、三元组和十字链表
				D、散列和十字链表
				答案:C
				解析:所谓三元组就是一个元素存放三个信息,矩阵中的行号,列号以及值,这样就可以不存放值为0的元素,实现压缩。
				 十字链表相当于是邻接表和逆邻接表的合集,在一个元素里面存放了值以及出度表和入度表,
				 这样也不需要像邻接矩阵那样存放大量0元素,而且找一个节点的入节点和找出节点一
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

N1314N

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值