牛客网笔记之数组(一)

最近开始在“牛客网”上做题,希望通过日积月累,每天记录一点小知识,每天前进一小步。

今天练习的题目关于数组

1. 数组存储:链式存储、顺序存储

线性表逻辑上是线性的,存储上可以是顺序的,可以是链式的
链式存储可以连续,可以不连续,存储时不管其连续还是不连续,都是用指针指向下一个结点

2.顺序存储的根据数组指针直接定位,在顺序表的任何位置上插入一个数据元素,平均需要移动n/2个数据元素,算法效率为O(n)

3.稀疏矩阵:

有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是(66)
解析:每个元素要用行号,列号,元素值来表示,由于二维稀疏矩阵的大小都是在256之内,所以行号和列号只需要char来存储。在用三元组表示稀疏矩阵,还要三个成员来记住,矩阵的行数列数,总的元素数,所以所需的字节数是10*(1+1+1)*2+3*2=66

4.关于 int a[10]; 问下面哪些不可以表示 a[1] 的地址?

A. a+sizeof(int) 
// 不正确, 在32位机器上相当于指针运算 a + 4
B. &a[0]+1 
// 正确,数组首元素地址加1,根据指针运算就是a[1]的地址
C. (int*)&a+1 
// 正确,数组地址被强制类型转换为int*,然后加1,这样和B表示的一个意思
D. (int*)((char*)&a+sizeof(int))
// 正确,数据地址先被转换为char*,然后加4,根据指针运算公式,向前移动4 * sizeof(char),之后被转换为int*,显然是a[1]的地址

5.基址:

假设以行序为主序存储二维数组A=array[100][100],设每个数据元素占2个存储单元,基地址为10,则A[5,5]的地址为(1020)。
解析:A[5][5]的地址为:5*100*2+5*2+10=1020,千万不要忘记基址是10,不是0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386084.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

社交网络节点理论

1.顿巴数 每个人的朋友圈子对多能达到150个人。(密友3-5人,好友30-50人,其他100-150人)纵使高科技带来的人际圈越来越大,但是人脑的容量是有限的,你也不可能和这么多人维持一定的人际关系(没有人…

疯狂涨知识!Java多态实现原理技术总监都拍手叫好

##前言 多态是Java语言重要的特性之一,它允许基类的指针或引用指向派生类的对象,而在具体访问时实现方法的动态绑定。Java对于方法调用动态绑定的实现主要依赖于方法表,但通过引用调用(invokevitual)和接口引用调用&am…

国内互联网公司算法机器学习岗(阿里星)面试总结

从2015年8月到2015年10月,花了3个月时间找工作,先后通过内推参加了美团、阿里蚂蚁金服、京东、腾讯、今日头条、Growing IO、微软这7个公司的面试,同时参加了网易游戏、LinkedI In中国这2个公司的笔试,拿到比较优质的offer是京东S…

疯狂涨知识!「高并发秒杀」微信抢红包实战案例帮你突破瓶颈

推荐阅读: 阿里二面凉经:设计模式缓存Spring虚拟机MySQL中间件并发等难题,全部迎刃而解阿里巴巴字节跳动那些大厂必问的HTTP该怎么学?我建议你看看这篇文章!蚂蚁、字节、PDD社招面经Java岗(分布式线程安全…

2016面试——腾讯、蚂蚁金服、蘑菇街

腾讯TST技术面: 先罗列一下问题吧: 编程语言编译的过程 同样的逻辑,golang的二进制代码比C语言的二进制代码长很多.试分析原因 项目 ,三个项目都有聊.因为现场面,可以用纸写,所以描述的更清楚些 N * N的方格纸,里面有多少个正方形 两个数组求交集 什么样的…

Android开发;Activity-Hook你了解多少?一起来debug

享学课堂特邀作者:周周 转载请声明出处! 前言 手把手讲解系列文章,是我写给各位看官,也是写给我自己的。文章可能过分详细,但是这是为了帮助到尽量多的人,毕竟工作5,6年,不能老吸血,…

牛客网笔记之JAVA运算符

计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其他运算符 逻辑运算符结果 ~a是按位非&#…

Android架构师谈:View-Pager-性能优化之-无限循环

作者:享学课堂Alvin老师 转载请声明出处! ViewPager实现无限滑动 **方案一:**将viewpager上限设置成一个很大的数,第一个页面设置到中间。然后滑动的时候,用当前的序号与viewpager页面数取余得到目标页面的序号&#…

你知道如何用面向对象思想写好并发编程吗?

在工作中,我发现很多人在设计之初都是直接按照单线程的思路来写程序的,而忽略了本应该重视的并发问题;等上线后的某天,突然发现诡异的 Bug,再历经千辛万苦终于定位到问题所在,却发现对于如何解决已经没有了…

你知道怎么在生产环境下部署tomcat吗?

享学课堂特邀作者:老顾 转载请声明出处! 一、前言 小伙伴们在网上看到的很多文章,都是对tomcat的一些介绍,什么配置啊,怎么启动。其实在生产环境中怎么部署,和网上介绍的有很大区别。这篇文章老顾就带着大…

浅谈HashMap

Java集合类的整体架构 比较重要的集合类图如下: 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否 否 HashSet TreeSet 是(用二叉树排序) Map AbstractMap 否 使用 key-value 来映射和存储数据, Key 必须惟…

matlab实现一元线性回归和多元线性回归

在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。 在实际经济问题中,一个变量往往受到多个变量的影响。例如,家…

互联网寒冬!“996”为什么还没实行?我还等着早点下班呢!

“喊了十多个月的‘996’,说要实行‘996’,上班上到现在,影子都没看到,我还能早点下班吗?” 我一个在广州上班的朋友小李,在我去广州出差期间,与他聊天的时候发出了这样的牢骚,我刚…

matlab求解常微分方程组/传染病模型并绘制SIR曲线

看了很多关于传染病模型的matlab程序,大都是绘制出两条曲线(I、S)的,本文最大的不同是绘出SIR三条曲线。 先给出SIR微分方程组 函数文件: run的程序:

互联网寒冬!技术站最全MySQL数据库实战规范

享学课堂特邀作者:老顾 转载请声明出处! 前言 我们小伙伴们经常使用到mysql数据库,一般就这么一用,很少会考虑mysql里面的细节问题,如sql语句的规范,或索引有没有起到相应的效果,今天老顾就给大…

SQL求一个表中非重复数据及其出现的次数

mysql中,我们可以用distinct求不重复的数据有多少,也可以用group by。 这里有个例子,如下表sheet1,共有5411条数据 查询语句 共有3446条不重复数据,每条不重复数据出现的次数在第二列显示:

什么是微服务扩展性和高可用-可扩展性、高可用性和性能

欢迎关注专栏:Java架构技术进阶。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。 Overview 可扩展性、高可用性和性能 术语可扩展性、高可用性、性能和关键任务对于不同的组织或组织内的不同部门来说可能意味着不同的…

SQL实现当前行等于前面两行数据之和

sql实现类似斐波那契数列的功能,即当前数据等于前面两个数据之和,详看本文例子 原表: sql语句(此处要熟悉JION ON的用法) 结果

【大牛系列教学】靠着这份面试题跟答案

开篇闲扯 打工人,打工魂,我们生而人上人。当“资本主义”逐渐禁锢我们人(大)上(韭)人(菜)肉体的时候,那一刻我才明白那个日不落帝国资本主义收割机瑞民族之光幸瑞幸咖啡…

matlab实现二项分布

二项分布 1. 求n次独立重复试验中事件A恰好发生k次的概率P。 命令:pdf 或 binopdf 格式:pdf (‘bino’, k, n, p) 或 binopdf (k, n, p) 说明:该命令的功能是计算二项分布中事件A恰好发生k次的概率。pdf为通用函数,bino表示二项分布,binopdf为专用函数,n为试验总次数,…