【数据结构与算法】对称矩阵,三角矩阵 详解
给出对称矩阵、三角矩阵的节省内存的存贮结构并写出相应的输入、输出算法。
对称矩阵和三角矩阵可以通过特殊的存储结构来节省内存。这种存储结构只存储矩阵的一部分元素,而不是全部元素。
对称矩阵:对于一个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;
}
相关文章:
【数据结构与算法】对称矩阵,三角矩阵 详解
给出对称矩阵、三角矩阵的节省内存的存贮结构并写出相应的输入、输出算法。 对称矩阵和三角矩阵可以通过特殊的存储结构来节省内存。这种存储结构只存储矩阵的一部分元素,而不是全部元素。 对称矩阵:对于一个n阶对称矩阵,我们只需要存储主对…...
Apache IoTDB 走进东南大学,深入分享项目发展历程与收获
源于高校,回到高校,Apache IoTDB PMC 成员乔嘉林为同学们详细分享行业前瞻、研发历程与心得体会。 01 把领先的数据库知识带到校园 6 月 5 日,东南大学计算机科学与工程学院、软件学院、人工智能学院主办的“拔尖领航系列活动特别策划篇-第二…...
Stable Diffusion AI绘画助力建筑设计艺术创新——城市建筑设计大模型分享
大家好,我是向阳 今天我将针对建筑设计方面的AI大模型进行简单介绍,我们将通过富有想象力的关键词或结合Stable Diffusion 的ControlNet 给原本只有黑白线条的线稿变成彩色的效果图,可能你只需要短短几分钟就可以让黑白线稿变成几种甚至十几种…...
没有 ADetailer,ComfyUI 画图脸崩了怎么办?
我们都知道 SD 的 WebUI 中的面部修复神器是 ADetailer,不过它是 WebUI 的专属插件,在 ComfyUI 中是搜索不到这个插件的,但是并不代表 ComfyUI 就不能使用面部修复功能了,ComfyUI 中也是可以找到平替的。 今天我们就来讲讲在 Com…...
防爆气象仪的工作原理
TH-WFB5矿山气象传感器在矿山安全监测系统中扮演着至关重要的角色,它们能够及时发现异常情况,为矿山的安全运营提供可靠的数据支持。矿山气象传感器能够实时监测矿山环境中的风速、风向、温度、湿度和大气压力等关键气象参数。这些传感器采用先进的传感技…...
深度学习入门5——为什么神经网络可以学习?
在理解神经网络的可学习性之前,需要先从数学中的导数、数值微分、偏导数、梯度等概念入手,从而理解为什么神经网络具备学习能力。 1.数值微分的定义 先从导数出发理解什么是梯度。某一点的导数直观理解就是在该点的切线的斜率。在数学中导数表示某个瞬…...
Integer溢出问题
0. 背景 在刷 LeetCode 时,代码的执行结果与预期出现了偏差,原因是 Int 值超过了允许范围 [ − 2 31 , 2 31 − 1 ] [-2^{31},2^{31}-1 ] [−231,231−1]。工作中从来没有遇到过这种情况,之前的认知是如果 Int 中存储的值超过了允许范围也许…...
软件测试全面指南:提升软件质量的系统流程
一、引言 随着软件行业的飞速发展,确保软件质量、稳定性和用户体验已成为企业竞争的关键。本文档旨在为测试团队提供一套全面的软件测试指南,通过规范测试用例管理、功能测试、接口测试、性能测试及缺陷管理等流程,助力测试团队实现高效、系统…...
《逆贫大叔》:一部穿越时光的温情史诗
《逆贫大叔》:一部穿越时光的温情史诗 在历史的长河中,有些故事能够穿越时光的尘埃,直击人心。《逆贫大叔》就是这样一部作品,它不仅是一部电视剧,更是一段历史的缩影,一次心灵的触动。 背景设定࿱…...
【电机控制】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 数据集的多样性
衡量大型语言模型(LLM)数据集的多样性是一个复杂的问题,因为多样性可以从多个角度来考虑。以下是一些常用的方法和指标来评估数据集的多样性: 词汇多样性: 类型-词符比(Type-Token Ratio, TTR)…...
编程天才是什么意思
编程天才是什么意思 编程天才,这个词汇似乎充满了神秘与敬畏的色彩。那么,它究竟意味着什么呢?在本文中,我们将从四个方面、五个方面、六个方面和七个方面深入探讨编程天才的内涵与外延,带您领略这一领域的独特魅力。…...
创建npm私包
参考文章: 使用双重身份验证访问 npm | npm 中文网 私有npm包的实例详解-js教程-PHP中文网 1.注册npm账号 npm官网: npm | Home 2.安装node 百度挺多的,安装完后,检查是否安装成功就行 3.写一个简单的模块 创建个文件夹&am…...
provider追加android:name的命名有哪些?
在Android中,为<provider>元素添加android:name属性时,命名应遵循Android组件的命名规范和包名的命名规范。以下是一些关于命名android:name的要点: 包名前缀:android:name属性的值通常应以包名开始,这是应用程序…...
长亭网络通信基础
长亭笔试之前就已经学过一遍了 这算温故而知新吧 TCP/IP 首先我在这里默写一下之前的7层和4层 应用层 应 【表示层 数据格式转换 传 【会话层 …...
hdfs源码解析之DFSClient
1、DFSClient类简介 DFSClient 是 Hadoop 分布式文件系统(HDFS)中的一个核心类,用于客户端与 HDFS 之间的交互。它提供了一组方法,使客户端应用程序可以方便地与 HDFS 进行通信,包括文件的读取、写入、创建、删除、重命…...
智能化立体仓库的种类有哪些?
在仓储运输系统中,自动化立体仓库可充分利用空间储存货物,故而也被称之为高层货架仓库。在实际应用中,自动化仓库系统是不需人工处理的情况下能自动存储和取出物料的系统。那么,智能化立体仓库的种类有哪些?下面就让小…...
Stable Diffusion 3 如何下载安装使用及性能优化
Stable Diffusion 3 Stable Diffusion 3(SD3),Stability AI最新推出的Stable Diffusion模型系列,现在可以在Hugging Face Hub上使用,并且可以与Diffusers一起使用。 今天发布的模型是Stable Diffusion 3 Medium&…...
c语言操作符详解
操作符详解 正数的原码反码补码相同 负数的原码最高位数是1,正数为0 整数在内存中存储的是补码 负数的左移与右移,移的是补码,打印的是源码 补码-1取反就是原码。 左移有乘2的效果 左移和右移只针对整数。 vs里的右移操作赋采用的是算数右…...
【耐水好】强耐水UV胶水它的粘接强度和普通UV胶水比如何呢
【耐水好】强耐水UV胶水它的粘接强度和普通UV胶水比如何呢 强耐水UV胶水的粘接强度与普通UV胶水相比,具有显著的优势。以下是详细的比较和归纳: 固化方式: 两者都是通过紫外线(UV)照射进行固化,但强耐水UV…...
相机潜能解锁:从限制突破到专业创作
相机潜能解锁:从限制突破到专业创作 【免费下载链接】OpenMemories-Tweak Unlock your Sony cameras settings 项目地址: https://gitcode.com/gh_mirrors/op/OpenMemories-Tweak OpenMemories-Tweak作为一款专为索尼相机设计的系统级解锁工具,通…...
从零到一:基于LLaMA-Factory的微调实战与核心参数精讲
1. 环境准备与LLaMA-Factory初探 第一次接触LLaMA-Factory时,我对着官方文档发呆了半小时——这个工具链实在太强大了,但新手很容易被各种依赖项劝退。这里分享我的踩坑经验:不要一上来就追求最新版本。去年12月我在RTX 3090上折腾v0.4.0时&a…...
League-Toolkit:革新英雄联盟体验的效率倍增工具集
League-Toolkit:革新英雄联盟体验的效率倍增工具集 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League-Toolkit是一…...
TSLint格式化器完全指南:打造个性化的代码检查报告
TSLint格式化器完全指南:打造个性化的代码检查报告 【免费下载链接】tslint :vertical_traffic_light: An extensible linter for the TypeScript language 项目地址: https://gitcode.com/gh_mirrors/ts/tslint TSLint作为TypeScript生态系统中最重要的代码…...
机械臂robotic-arm--8.snapshot.7
机械臂作为自动化领域的核心设备,其设计精度与功能稳定性直接影响任务执行效率。以robotic-arm--8.snapshot.7为例,其核心作用体现在多维度空间定位与复杂轨迹规划能力上。通过集成高精度伺服电机与闭环控制系统,该型号机械臂可实现亚毫米级重…...
Vue中实现动态标签页的切换优化与状态管理
1. 动态标签页的核心需求与实现思路 在后台管理系统这类多页面应用中,动态标签页几乎是标配功能。想象一下你正在使用某电商后台,同时开着商品管理、订单处理和用户分析三个页面,这时候标签页的流畅切换和状态保持就显得尤为重要。 我经历过一…...
统信UOS 1060e内网离线安装Docker保姆级教程(附CentOS 8 RPM包下载)
统信UOS 1060e内网离线安装Docker全流程实战指南 在企业级IT基础设施中,内网环境下的软件部署一直是运维工程师面临的特殊挑战。当服务器完全隔离于互联网时,每一个依赖包、每一条配置指令都可能成为阻碍系统正常运行的潜在障碍。本文将深入探讨在统信UO…...
避坑指南:华为Atlas200DK开发板联网常见错误及解决方法
华为Atlas200DK开发板联网避坑实战手册 当开发者第一次拿到华为Atlas200DK开发板时,联网往往是遇到的第一个技术门槛。这个看似简单的操作,在实际操作中却可能因为各种配置细节问题而耗费数小时。本文将深入剖析开发板联网过程中的典型故障场景ÿ…...
别再只调参了!深入RepVgg设计思想,用CCFF模块优化你的模型特征融合效率
深入解析CCFF模块:用RepVgg思想重构跨尺度特征融合技术 在计算机视觉领域,特征融合一直是提升模型性能的关键环节。传统方法如FPN、PANet虽然有效,但在实时性要求高的场景下往往成为计算瓶颈。今天我们要探讨的CCFF(Cross-scale C…...
【数据结构与算法】最小生成树Kruskal
1.#include <iostream> #include <algorithm> #include <vector> using namespace std;struct Edge {int u, v, w; // 起点,终点,边权 };vector<Edge> edges; vector<int> parent;// 比较函数:按边权升序排列…...
