软考21-上午题-数组、矩阵

数组:一组地址连续的空间。

数组是定长线性表在维数上的扩展,即,线性表中的元素又是一个线性表。

一、数组

数组的特点:

数组数目固定,一旦定义了数组结构,不再有元素个数的增减变化。因此,数组一般不做插入、删除操作,适合用于顺序存储结构。

1-1、一维数组

  • L:元素大小
  • LOC:元素首地址

数组从0开始:

ai的地址 = LOC + (i)*L

ai的前面有i个元素

数组从1开始:

ai的地址 = LOC + (i-1)*L

ai的前面有i-1个元素

1-2、二维数组

a[N][M]:N行、M列

L:元素大小

在内存中存储如下:

1、a[N][M]按行优先存储

求a[i][j]的首地址:

① 数组下标从0开始:a[0][0]

先求出 a[i][j]前面有多少行:i行

再求出 a[i][j]前面有多少列:j列

a[i][j] = LOC + (i * M + j) * L

②数组下标从1开始:a[1][1]

a[i][j] = LOC + [(i-1) * M + (j-1)] * L

2、a[N][M]按列优先存储

 求a[i][j]的首地址:

① 数组下标从0开始:a[0][0]

先求出 a[i][j]前面有多少列:j列

再求出 a[i][j]前面有多少行:i行

a[i][j] = LOC + (j * N + i) * L

① 数组下标从1开始:a[1][1]

a[i][j] = LOC + [(j-1) * M + (i-1)] * L

3、特殊情况a[N][N]

对于N行N列数组

求a[i][i]时,不管是按行存储还是按列存储,其存储的首地址和该元素前面的元素个数,都是相同的。

示例:

1-3、真题

真题1:

真题2:

真题3:

二、矩阵

一个二维数组就是一个矩阵。 

矩阵的存储,即,将一个二维数组的元素,压缩存储在一个一维数组中。

矩阵的压缩存储:

多个值相同的元素,分配一个存储单元;0不分配存储单元。

2-1、特殊矩阵

值相同的元素、0元素在矩阵中有一定的规律——特殊矩阵

2-1-1、对称矩阵

Aij = Aji

示例:

对称矩阵的存储:只存储主对角线的元素 + 下三角区(上三角区)的元素

存储的元素个数:(1+n)n/2

对称矩阵按行优先存储:

期望:通过A22——>a6

求:Aij

1、数组下表从0开始

①前i-1行有多少个元素?i*(1+i)/2

②第i行,前j-1列有几个元素?j

③再加上自己

Aij = i*(1+i)/2 + j + 1(当i >= j)

Aij = j*(1+j)/2 + i + 1(当i < j)

2、下标从1开始

 

2-1-2、三对角矩阵 

三对角矩阵的存储:

只存储对角线上的非0元素。

期望:通过A33——>a10

求:Aij

2-2、稀疏矩阵

矩阵中,非0元素的个数远少于0元素的个数,非0元素分布没有规律。

示例:

稀疏矩阵的压缩存储:

  • 三元组顺序表(顺序存储)
  • 十字链表(链式存储)

2-2-3、三元组顺序表

2-2-4、十字链表

2-3、真题

真题1:

真题2:

真题3:

真题4:

真题5:

真题6:

 真题7:

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

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

相关文章

【HTML 基础】语义化标签

文章目录 1. <header>2. <nav>3. <article>4. <section>5. <footer>为什么使用语义化标签结语 在现代的 Web 开发中&#xff0c;语义化标签成为设计网页结构的重要组成部分。通过使用 <header>, <nav>, <article>, <sectio…

XAI:探索AI决策透明化的前沿与展望

文章目录 &#x1f4d1;前言一、XAI的重要性二、为什么需要可解释人工智能三、XAI的研究与应用四、XAI的挑战与展望 &#x1f4d1;前言 随着人工智能技术的快速发展&#xff0c;它已经深入到了我们生活的方方面面&#xff0c;从智能手机、自动驾驶汽车到医疗诊断和金融投资&…

探访成武非遗,感受文化传承魅力

为深入了解非遗文化&#xff0c;探究其时代内涵与精神价值。 2024年2月5日&#xff0c;曲阜师范大学计算机学院“古韵新声&#xff0c;格物致‘知’”实践队队员张悦在山东省菏泽市成武县开展社会实践活动&#xff0c;前往成武县文化馆进行实地参观&#xff0c;追寻非遗痕迹&am…

从零开始手写mmo游戏从框架到爆炸(二)— 核心组件抽离与工厂模式创建

上一章我们已经完成了一个基本netty的通信&#xff0c;但是netty的启动很多代码都是重复的&#xff0c;所以我们使用工厂模式来生成不同的ServerBootstrap。 首先创建一个新的组件core组件&#xff0c;和common组件&#xff0c;主要用于netty通信和工具类&#xff0c;从server…

PDF文件格式(一):新版格式交叉引用表

PDF交叉引用表是PDF的重要组成部分&#xff0c;本文介绍的是新交叉引用表&#xff0c;这种引用表的格式是PDF的obj格式&#xff0c;内容是被压缩存放在obj下的stream中&#xff0c;因此比常规的引用表格式复杂。下面就开始介绍这种交叉引用表的格式和解析的方法&#xff1a; 1…

文心一言4.0API接入指南

概述 文心一言是百度打造出来的人工智能大语言模型&#xff0c;具备跨模态、跨语言的深度语义理解与生成能力&#xff0c;文心一言有五大能力&#xff0c;文学创作、商业文案创作、数理逻辑推算、中文理解、多模态生成&#xff0c;其在搜索问答、内容创作生成、智能办公等众多…

LeetCode、790. 多米诺和托米诺平铺【中等,二维DP,可转一维】

文章目录 前言LeetCode、790. 多米诺和托米诺平铺【中等&#xff0c;二维DP&#xff0c;可转一维】题目与分类思路二维解法二维转一维 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客之星、阿里云平台优质…

飞天使-k8s知识点12-kubernetes散装知识点1-架构有状态资源对象分类

文章目录 k8s架构图有状态和无状态服务 资源和对象对象规约和状态 资源的对象-资源的分类元数据型与集群型资源命名空间 k8s架构图 有状态和无状态服务 区分有状态和无状态服务有利于维护yaml文件 因为配置不同资源和对象 命令行yaml来定义对象对象规约和状态 规约 spec 描述…

嵌入式软件设计方式与方法

1、嵌入式软件与设计模式 思从深而行从简 软件开发&#xff0c;难的不是编写软件&#xff0c;而是编写功能正常的软件。软件工程化才能保证软件质量和项目进度&#xff0c;而设计模式使代码开发真正工程化&#xff0c;设计模式是软件工程的基石。 所谓设计模式就是对常见问题的…

idea(2023.3.3 ) spring boot热部署,修改热部署延迟时间

1、添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional> </dependency>载入依赖 2、设置编辑器 设置两个选项 设置热部署更新延迟时…

功率电阻器应用 (electroschematics.com)

功率电阻器的应用非常广泛&#xff0c;因此无法轻易地将其制成表格。这里讨论的是一些实用的、有用的应用程序&#xff0c;你会发现它们很有趣。首先是一些典型的管状功率电阻器的图像。 一些常见的功率电阻器应用 电阻加热器 电流检测 – 分流应用 缓冲器应用 泄放电阻 浪…

MC34063异常发热分析

问题描述&#xff1a; 工程现场反馈若干电源转换模块损坏&#xff0c;没有输出。拿到问题模块后&#xff0c;查看有一个MC34063周围的PCB有比较明显的高温痕迹&#xff0c;配套的电感也有明显的高温过热痕迹。 问题调查&#xff1a; MC34063的电路非常经典&#xff08;虽然自…

RabbitMQ 安装

下载erlang语言&#xff1a; erlang语言 下载RabbitMQ rabbitmq 安装erlang 1.以管理员身份安装erlang 2.弹出框选择next 3.选择安装路径&#xff0c;亦可以安装在默认路径 4.接下来一路点击下一步&#xff0c;无需任何修改&#xff0c;直到 install安装为止&#xff…

政安晨:机器学习快速入门(二){基于Python与Pandas} {建立您的第一个机器学习模型}

现在咱们要一起创建您的第一个机器学习模型啦&#xff01; 选择建模数据 你的数据集包含太多变量&#xff0c;让你无法理解&#xff0c;甚至无法很好地打印出来。你如何将这大量的数据减少到你能理解的程度&#xff1f; 我们将从直觉上选择几个变量。后续课程将向你展示自动优…

【教学类-46-05】吉祥字门贴5.0(华光彩云_CNKI 文本框 空心字涂色 ,繁简都可以,建议简体)

作品展示 背景需求&#xff1a; 1、制作了空心字的第1款 华光通心圆_CNKI &#xff0c;发现它不能识别某些简体字&#xff0c;但可以识别他们的繁体字&#xff08;繁体为准&#xff09; 【教学类-46-01】吉祥字门贴1.0&#xff08;华光通心圆_CNKI 文本框 空心字涂色&#xf…

掌握Linux du命令:高效查看文件和目录大小

今天我们在生产环境中的服务器上收到了有关/var磁盘目录使用率较高的警报。为了解决这一问题&#xff0c;我们进行了/var目录下一些大文件的清理和转移操作。在查找那些占用磁盘空间较多的文件时&#xff0c;我们频繁使用了du命令。在Linux系统中&#xff0c;du命令是一款功能强…

SpringBoot集成axis发布WebService服务

文章目录 1、使用maven-web项目生成server-config.wsdd文件1.1、新建maven-web项目1.1.1、新建项目1.1.2、添加依赖 1.2、编写服务接口和实现类1.2.1、OrderService接口1.2.2、OrderServiceImpl实现类 1.3、配置deploy.wsdd文件deploy.wsdd文件 1.4、配置tomcat1.4.1、配置tomc…

Matlab:利用1D-CNN(一维卷积神经网络),分析高光谱曲线数据或时序数据

1DCNN 简介&#xff1a; 1D-CNN&#xff08;一维卷积神经网络&#xff09;是一种特殊类型的卷积神经网络&#xff0c;设计用于处理一维序列数据。这种网络结构通常由多个卷积层和池化层交替组成&#xff0c;最后使用全连接层将提取的特征映射到输出。 以下是1D-CNN的主要组成…

详细分析Redis中数值乱码的根本原因以及解决方式

目录 前言1. 问题所示2. 原理分析3. 拓展 前言 对于这方面的相关知识推荐阅读&#xff1a; Redis框架从入门到学精&#xff08;全&#xff09;Java关于RedisTemplate的使用分析 附代码java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09; …

板块零 IDEA编译器基础:第二节 创建JAVA WEB项目与IDEA基本设置 来自【汤米尼克的JAVAEE全套教程专栏】

板块零 IDEA编译器基础&#xff1a;第二节 创建JAVA WEB项目与IDEA基本设置 一、创建JAVA WEB项目&#xff08;1&#xff09;普通项目升级成WEB项目&#xff08;2&#xff09;创建JAVA包 二、IDEA 开荒基本设置&#xff08;1&#xff09;设置字体字号自动缩放 &#xff08;2&am…