当前位置: 首页 > news >正文

【数据结构与算法】对称矩阵,三角矩阵 详解

给出对称矩阵、三角矩阵的节省内存的存贮结构并写出相应的输入、输出算法。

对称矩阵和三角矩阵可以通过特殊的存储结构来节省内存。这种存储结构只存储矩阵的一部分元素,而不是全部元素。

对称矩阵:对于一个n阶对称矩阵,我们只需要存储主对角线及其上方或下方的元素。这可以通过一个一维数组来实现,数组的长度为n*(n+1)/2。对于矩阵中的元素a[i][j],如果i<=j,则其在数组中的位置为i*(i+1)/2+j。

#include <stdio.h>#define MAX_ROW_INDEX 100
#define MAX_COL_INDEX 100
#define MAX_INDEX 100typedef int Elemtype;// 在存储对称矩阵的一维数组A中取对称矩阵的第i行第j列元素给elem
int getValueSymmetricMatrix(int A[], Elemtype *elem, int i, int j) {// 检查索引是否有效if(i < 1 || i > MAX_ROW_INDEX || j < 1 || j > MAX_COL_INDEX)return 0;int k;// 计算元素在数组中的位置if (i >= j) k = i * (i - 1) / 2 + j - 1;else k = j * (j - 1) / 2 + i - 1;// 获取元素的值*elem = A[k];return 1;
}

三角矩阵:对于一个n阶上三角矩阵,我们只需要存储主对角线及其上方的元素。这也可以通过一个一维数组来实现,数组的长度为n*(n+1)/2。对于矩阵中的元素a[i][j],如果i<=j,则其在数组中的位置为i*(i+1)/2+j。

#include <stdio.h>#define MAX_ROW_INDEX 100
#define MAX_COL_INDEX 100
#define MAX_INDEX 100typedef int Elemtype;// 在存储下三角矩阵的一维数组A中取下三角矩阵的第i行第j列元素给elem
int getValueLowerTriangularMatrix(int A[], Elemtype *elem, int i, int j) {// 检查索引是否有效if(i < 1 || i > MAX_ROW_INDEX || j < 1 || j > MAX_COL_INDEX)return 0;int n = MAX_INDEX;int k;// 计算元素在数组中的位置if (i >= j)  k = i * (i - 1) / 2 + j - 1;else  k = n * (n + 1) / 2;// 获取元素的值*elem = A[k];return 1;
}

相关文章:

【数据结构与算法】对称矩阵,三角矩阵 详解

给出对称矩阵、三角矩阵的节省内存的存贮结构并写出相应的输入、输出算法。 对称矩阵和三角矩阵可以通过特殊的存储结构来节省内存。这种存储结构只存储矩阵的一部分元素&#xff0c;而不是全部元素。 对称矩阵&#xff1a;对于一个n阶对称矩阵&#xff0c;我们只需要存储主对…...

Apache IoTDB 走进东南大学,深入分享项目发展历程与收获

源于高校&#xff0c;回到高校&#xff0c;Apache IoTDB PMC 成员乔嘉林为同学们详细分享行业前瞻、研发历程与心得体会。 01 把领先的数据库知识带到校园 6 月 5 日&#xff0c;东南大学计算机科学与工程学院、软件学院、人工智能学院主办的“拔尖领航系列活动特别策划篇-第二…...

Stable Diffusion AI绘画助力建筑设计艺术创新——城市建筑设计大模型分享

大家好&#xff0c;我是向阳 今天我将针对建筑设计方面的AI大模型进行简单介绍&#xff0c;我们将通过富有想象力的关键词或结合Stable Diffusion 的ControlNet 给原本只有黑白线条的线稿变成彩色的效果图&#xff0c;可能你只需要短短几分钟就可以让黑白线稿变成几种甚至十几种…...

没有 ADetailer,ComfyUI 画图脸崩了怎么办?

我们都知道 SD 的 WebUI 中的面部修复神器是 ADetailer&#xff0c;不过它是 WebUI 的专属插件&#xff0c;在 ComfyUI 中是搜索不到这个插件的&#xff0c;但是并不代表 ComfyUI 就不能使用面部修复功能了&#xff0c;ComfyUI 中也是可以找到平替的。 今天我们就来讲讲在 Com…...

防爆气象仪的工作原理

TH-WFB5矿山气象传感器在矿山安全监测系统中扮演着至关重要的角色&#xff0c;它们能够及时发现异常情况&#xff0c;为矿山的安全运营提供可靠的数据支持。矿山气象传感器能够实时监测矿山环境中的风速、风向、温度、湿度和大气压力等关键气象参数。这些传感器采用先进的传感技…...

深度学习入门5——为什么神经网络可以学习?

在理解神经网络的可学习性之前&#xff0c;需要先从数学中的导数、数值微分、偏导数、梯度等概念入手&#xff0c;从而理解为什么神经网络具备学习能力。 1.数值微分的定义 先从导数出发理解什么是梯度。某一点的导数直观理解就是在该点的切线的斜率。在数学中导数表示某个瞬…...

Integer溢出问题

0. 背景 在刷 LeetCode 时&#xff0c;代码的执行结果与预期出现了偏差&#xff0c;原因是 Int 值超过了允许范围 [ − 2 31 , 2 31 − 1 ] [-2^{31},2^{31}-1 ] [−231,231−1]。工作中从来没有遇到过这种情况&#xff0c;之前的认知是如果 Int 中存储的值超过了允许范围也许…...

软件测试全面指南:提升软件质量的系统流程

一、引言 随着软件行业的飞速发展&#xff0c;确保软件质量、稳定性和用户体验已成为企业竞争的关键。本文档旨在为测试团队提供一套全面的软件测试指南&#xff0c;通过规范测试用例管理、功能测试、接口测试、性能测试及缺陷管理等流程&#xff0c;助力测试团队实现高效、系统…...

《逆贫大叔》:一部穿越时光的温情史诗

《逆贫大叔》&#xff1a;一部穿越时光的温情史诗 在历史的长河中&#xff0c;有些故事能够穿越时光的尘埃&#xff0c;直击人心。《逆贫大叔》就是这样一部作品&#xff0c;它不仅是一部电视剧&#xff0c;更是一段历史的缩影&#xff0c;一次心灵的触动。 背景设定&#xff1…...

【电机控制】FOC算法验证步骤——PWM、ADC

【电机控制】FOC算法验证步骤 文章目录 前言一、PWM——不接电机1、PWMA-H-50%2、PWMB-H-25%3、PWMC-H-0%4、PWMA-L-50%5、PWMB-L-75%6、PWMC-L-100% 二、ADC——不接电机1.电流零点稳定性、ADC读取的OFFSET2.电流钳准备3.运放电路分析1.电路OFFSET2.AOP3.采样电路的采样值范围…...

如何衡量llm 数据集的多样性

衡量大型语言模型&#xff08;LLM&#xff09;数据集的多样性是一个复杂的问题&#xff0c;因为多样性可以从多个角度来考虑。以下是一些常用的方法和指标来评估数据集的多样性&#xff1a; 词汇多样性&#xff1a; 类型-词符比&#xff08;Type-Token Ratio, TTR&#xff09;…...

编程天才是什么意思

编程天才是什么意思 编程天才&#xff0c;这个词汇似乎充满了神秘与敬畏的色彩。那么&#xff0c;它究竟意味着什么呢&#xff1f;在本文中&#xff0c;我们将从四个方面、五个方面、六个方面和七个方面深入探讨编程天才的内涵与外延&#xff0c;带您领略这一领域的独特魅力。…...

创建npm私包

参考文章&#xff1a; 使用双重身份验证访问 npm | npm 中文网 私有npm包的实例详解-js教程-PHP中文网 1.注册npm账号 npm官网&#xff1a; npm | Home 2.安装node 百度挺多的&#xff0c;安装完后&#xff0c;检查是否安装成功就行 3.写一个简单的模块 创建个文件夹&am…...

provider追加android:name的命名有哪些?

在Android中&#xff0c;为<provider>元素添加android:name属性时&#xff0c;命名应遵循Android组件的命名规范和包名的命名规范。以下是一些关于命名android:name的要点&#xff1a; 包名前缀&#xff1a;android:name属性的值通常应以包名开始&#xff0c;这是应用程序…...

长亭网络通信基础

长亭笔试之前就已经学过一遍了 这算温故而知新吧 TCP/IP 首先我在这里默写一下之前的7层和4层 应用层 应 【表示层 数据格式转换 传 【会话层 …...

hdfs源码解析之DFSClient

1、DFSClient类简介 DFSClient 是 Hadoop 分布式文件系统&#xff08;HDFS&#xff09;中的一个核心类&#xff0c;用于客户端与 HDFS 之间的交互。它提供了一组方法&#xff0c;使客户端应用程序可以方便地与 HDFS 进行通信&#xff0c;包括文件的读取、写入、创建、删除、重命…...

智能化立体仓库的种类有哪些?

在仓储运输系统中&#xff0c;自动化立体仓库可充分利用空间储存货物&#xff0c;故而也被称之为高层货架仓库。在实际应用中&#xff0c;自动化仓库系统是不需人工处理的情况下能自动存储和取出物料的系统。那么&#xff0c;智能化立体仓库的种类有哪些&#xff1f;下面就让小…...

Stable Diffusion 3 如何下载安装使用及性能优化

Stable Diffusion 3 Stable Diffusion 3&#xff08;SD3&#xff09;&#xff0c;Stability AI最新推出的Stable Diffusion模型系列&#xff0c;现在可以在Hugging Face Hub上使用&#xff0c;并且可以与Diffusers一起使用。 今天发布的模型是Stable Diffusion 3 Medium&…...

c语言操作符详解

操作符详解 正数的原码反码补码相同 负数的原码最高位数是1&#xff0c;正数为0 整数在内存中存储的是补码 负数的左移与右移&#xff0c;移的是补码&#xff0c;打印的是源码 补码-1取反就是原码。 左移有乘2的效果 左移和右移只针对整数。 vs里的右移操作赋采用的是算数右…...

【耐水好】强耐水UV胶水它的粘接强度和普通UV胶水比如何呢

【耐水好】强耐水UV胶水它的粘接强度和普通UV胶水比如何呢 强耐水UV胶水的粘接强度与普通UV胶水相比&#xff0c;具有显著的优势。以下是详细的比较和归纳&#xff1a; 固化方式&#xff1a; 两者都是通过紫外线&#xff08;UV&#xff09;照射进行固化&#xff0c;但强耐水UV…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...