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

数据结构---特殊矩阵和广义表

🌞欢迎来到机器学习的世界 
🌈博客主页:卿云阁

💌欢迎关注🎉点赞👍收藏⭐️留言📝

🌟本文由卿云阁原创!

🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!


目录

一维数组

 二维数组

普通矩阵的存储 

 对称矩阵的压缩存储

三对角矩阵的压缩存储

稀疏矩阵的压缩存储 

广义表 


一维数组

        我们定义int a[0],起始地址LOC,LOC(ai)=LOC+i×k,其中i表示数组的下标,k表示一个数据元素所占的字节数。 比如此时要计算(假设起始地址是400,k=4)。

                                  LOC(a3)=400+3*4=412


 二维数组

       二维数组a[i][j]某一个元素地址的计算和一维数组的计算类似关键是判断前面有多少个元素。


普通矩阵的存储 


 对称矩阵的压缩存储

 

 

         上三角矩阵中,主对角线之上的第i行(0≦i<n)恰有n-i个元素,按行优先顺序存放上三角矩阵中的元素aij时,aij之前的i行一共有 (n-i)(2n-i+1)/2个元素,在第i行上,aij前恰好有j-i个元素:aii,aii+1,…aij-1。


三对角矩阵的压缩存储


稀疏矩阵的压缩存储 

       比如第一行的4在第一行第三列,5这个元素在第一行第六列。此时如果想访问某一个三元组,只能顺序访问失去了随机存储的特性。

//三元组结构体
typedef struct{//所在行数,列数int i,j;//值int e;
}triple;

      定义一个向下域(down[])数组,数组里面存放的是一个一个的指针,我们把这些指针称之为向下域,这里的每一个指针就对应了稀疏矩阵的每一列,定义一个向右域(right[])数组,这里的每一个指针就对应了稀疏矩阵的每一行,每一个非0元素都对应着一个节点,这个节点包括非0元素的行,列,值,另外还有两个指针。第一行的第一个非0元素是4,第一行第三列对应的值是4。


广义表 

     广义表是线性表的推广。线性表中的元素仅限于原子项(单个数据元素),而广义表中的元素既可以是原子项,也可以是子表(另一个线性表)。

相关文章:

数据结构---特殊矩阵和广义表

&#x1f31e;欢迎来到机器学习的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f64f;作者水平很有限&#xff0c;如果发现错误&#xff…...

mysql数据库的定时备份脚本(docker环境和非docker环境)

一、非docker安装的MySQL MySQL作为一种常用的数据库管理系统,拥有着众多的优秀特性,如高性能、高可靠性、高可扩展性等。然而,在数据备份上,也需要我们进行一定的处理,这样才能保证数据的安全性。因此,在这里我们将介绍如何定时备份MySQL数据库。 我们可以通过MySQL自…...

【微信小程序】使用 wx.request 方法进行异步网络请求

在微信小程序中&#xff0c;你可以使用 wx.request 方法进行异步网络请求&#xff0c;并将获取到的列表数据渲染到 UI 上。 首先&#xff0c;在页面的 data 中定义一个数组变量&#xff0c;用于存储获取到的列表数据&#xff0c;例如&#xff1a; Page({data: {listData: [] …...

MySQL 8 修改root密码ERROR 1064 (42000): You have an error in your SQL syntax;

root先利用原密码登陆 mysql -u root -p Enter password: ******* Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 8.0.26 MySQL Community Server - GPLCopyright (c) 2000, 2021, Oracle and/or its affiliate…...

SpringCloud——分布式请求链路跟踪Sleuth

安装运行zipkin SpringCloud从F版已不需要自己构建Zipkin Server&#xff0c;只需要调用jar包即可 https://dl.bintray.com/oenzipkin/maven/io/zipkin/java/zipkin-server/ 下载&#xff1a;zipkin-server-2.12.9-exec.jar 运行&#xff1a;java -jar zipkin-server-2.12.9-e…...

【2 beego学习 - 项目导入与项目知识点】

0 项目导入 1 在英文路径下新建一个同名的项目,拷贝其他数据到这个文件 bee new 同名项目名 cd 同名项目名 go mod tidy go get -u -v github.com/astaxie/beego go get 同名项目名/models2 拷贝部分的项目文件到新目录 bee run 运行的其他错误,按照提示安装文件 1 后端获取…...

Langchain-ChatGLM配置文件参数测试

1 已知可能影响对话效果的参数&#xff08;位于configs/model_config.py文件&#xff09;&#xff1a; # 文本分句长度 SENTENCE_SIZE 100# 匹配后单段上下文长度 CHUNK_SIZE 250 # 传入LLM的历史记录长度 LLM_HISTORY_LEN 3 # 知识库检索时返回的匹配内容条数 VECTO…...

测试QT读写锁(QReadWriteLock )和互斥锁(QReadWriteLock )的执行效率

上代码&#xff1a; #include <QCoreApplication> #include <QElapsedTimer> #include <QtConcurrent> #include <QDebug>int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);qSetMessagePattern("(%{time hh:mm:ss.zzz} %{thre…...

如何在 Windows 中免费合并 PDF 文件 [在线和离线]

PDF是一种广泛使用的文件格式&#xff0c;具有兼容性好、安全性高、易于打印、方便浏览等众多优点。在工作和学习过程中&#xff0c;经常需要将同一类型的PDF文件合并起来&#xff0c;以方便传输和查看&#xff0c;使得合并PDF文件成为一种重要的数据整合方法。 如果您想知道如…...

【LLM】金融大模型场景和大模型Lora微调实战

文章目录 一、金融大模型背景二、大模型的研究问题三、大模型技术路线四、LLaMA家族模型五、Lora模型微调的原理六、大模型Lora微调实战Reference 一、金融大模型背景 金融行业需要垂直领域LLM&#xff0c;因为存在金融安全和数据大多数存储在本地&#xff0c;在风控、精度、实…...

途乐证券股市资讯-英伟达,又创历史新高!美股全线上涨

当地时间13日&#xff0c;美股三大股指集体收涨&#xff0c;纳指、标普500指数双双改写2022年4月以来的新高。到收盘&#xff0c;道指涨0.14%&#xff0c;报34395.14点&#xff1b;纳指涨1.58%&#xff0c;报14138.57点&#xff1b;标普500指数涨0.85%&#xff0c;报4510.04点。…...

MySQL表聚合函数

前言 哈喽&#xff0c;各位小伙伴大家好&#xff0c;本篇文章为大家介绍几个MySQL中常用的聚合函数&#xff0c;什么是聚合函数&#xff0c;相信第一次看到这个名词的小伙伴是比较懵的&#xff0c;举个例子&#xff0c;比如说统计表中数据的个数&#xff0c;就可以使用MySQL中提…...

JavaWeb 速通XML

目录 一、XML快速入门 1.基本介绍 : 2.入门案例 : 二、XML语法 0.文件结构 : 1.文档声明 &#xff1a; 2. 元素 : 3.属性 : 4.注释 : 5.CDATA节 : PS : XML转义符 : 三、Dom4j 1.关于XML解析技术 : 2 Dom4j介绍 : 3.Dom4j使用 : 1 获取Document对象的三种方式 2 …...

redis浅析

一 什么是NoSQL&#xff1f; Nosql not only sql&#xff08;不仅仅是SQL&#xff09; 关系型数据库&#xff1a;列行&#xff0c;同一个表下数据的结构是一样的。 非关系型数据库&#xff1a;数据存储没有固定的格式&#xff0c;并且可以进行横向扩展。 NoSQL泛指非关系…...

四种缓存的避坑总结

背景 分布式、缓存、异步和多线程被称为互联网开发的四大法宝。今天我总结一下项目开发中常接触的四种缓存实际项目中遇到过的问题。 JVM堆内缓存 JVM堆内缓存因为可以避免memcache、redis等集中式缓存网络通信故障问题&#xff0c;目前还在项目中广泛使用。 堆内缓存需要注…...

flutter开发实战-flutter二维码条形码扫一扫功能实现

flutter开发实战-flutter二维码条形码扫一扫功能实现 flutter开发实战-flutter二维码扫一扫功能实现&#xff0c;要使用到摄像头的原生的功能&#xff0c;使用的是插件&#xff1a;scan 效果图如下 一、扫一扫插件scan # 扫一扫scan: ^1.6.01.1 iOS权限设置 <key>NSCa…...

一篇文章了解Redis分布式锁

Redis分布式锁 什么是分布式锁&#xff1f; ​ redis分布式锁是一种基于redis实现的锁机制&#xff0c;它用于在多并发分布式环境下控制并发访问共享资源。在多个应用程序或是进程访问共享资源时&#xff0c;分布式锁可以确保只有一个进程可以访问该资源&#xff0c;不会发生…...

记录第一次组装电脑遇到的坑

京东装机大师配置清单如下&#xff1a; 主板cpu安装 本次安装拆了两次主板 原因1.主板侧面有个金属板需要从内部安装 2.cpu风扇有个板需要装在主板底下 显卡比较大个要最后装&#xff0c;要不然可能要拆好几次 装系统时候 u盘启动认不出来&#xff0c;他妈的是因为机箱上的usb…...

右键pdf文件没有打印

问题描述 右键点pdf文件&#xff0c;弹出的菜单找不到打印选项。网上找了很多办法&#xff0c;然并卵啊。还是得靠自己慢慢摸索。 原因分析 新安装的win11系统&#xff0c;pdf文件默认可以用windows自带的edge浏览器打开。但是edge浏览器没有能力提供右键打印功能。 解决办法…...

什么是CDN?CDN的原理和作用是什么?

一&#xff1a;什么是CDN CDN全称Content Delivery Network&#xff0c;即内容分发网络。 CDN是Content Delivery Network&#xff08;内容分发网络&#xff09;的缩写&#xff0c;是一种利用分布式节点技术&#xff0c;在全球部署服务器&#xff0c;即时地将网站、应用、视频…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...