【数据结构】三元组

知识图谱(一) 一个菜菜的人要学一学毕设相关的知识了,这篇笔记参考的内容放在这里啦。本文用到的截图都在这些文章里。 1.知识图谱是什么 知识图谱(Knowledge Graph),简称KG。我没有搜到知识图谱的官方定义,欢迎知道的童鞋踩踩。我的理解过程如下。 知识:人类对信息进行处理之后的认识和理解,是对数据和信息的凝炼、总结后的成果。 图:表示一些事物(Object)与另一些事物之间相互连接的结构。 联想一下数据结构里的图就能理解了。 我理解的,知识图谱的作用就是,对于大量无序杂乱的信息,识别出其中的 阅读详情

三元组的表示

(1)、目的:对于在实际问题中出现的大型的稀疏矩阵,若用常规分配方法在计算机中储存,将会产生大量的内存浪费,而且在访问和操作的时候也会造成大量时间上的浪费,为了解决这一问题,从而善生了多种解决方案。

(2)、由于其自身的稀疏特性,通过压缩可以大大节省稀疏矩阵的内存代价。具体操作是:将非零元素所在的行、列以及它的值构成一个三元组(i,j,v),然后再按某种规律存储这些三元组,这种方法可以节约存储空间。

具体如下图:

#define SMAX 1000  
typedef struct
{
     int i,j;          //储存非零元素的行和列信息
     datatype v; //非零元素的值    
}SPNode;        //定义三元组类型
typedef struct
{
     int mu,nu,tu; //矩阵的行、列和非零元素的个数  
     SPNode data[SMAX]; //三元组表  
}SPMatrix;

稀疏矩阵的转置

操作:一个n*m的稀疏矩阵转置后得到的将是一个m*n的矩阵。简单来说就是讲三元组中的行标和列标交换,但是仅仅是这样就结束了么? 当然不是。前面规定三元组的是按一行一行且每行中的元素是按列号从小到大的规律顺序存放的,因此B 也必须按此规律实现。

 

  =》 

算法思路:

①A 的行、列转化成B 的列、行;
②在A.data 中依次找第一列的、第二列的、直到最后一列,并将找到的每个三元组的行、列交换后顺序存储到B.data 中即可。

由于对于A的转置是自上而下的,也就要求对于A中任意元素的转置后位置必须是可知的,而原储存顺序是按行号排列的,所以转置前同列的在前面的转置后一定还在同行的前方。故确定了转置后的每行的第一个元素的位置即确定整个顺序。具体计算如下图

代码如下:

void TransM1 (SPMatrix *A)

{
     SPMatrix *B;
    int p,q,col;
    B=malloc(sizeof(SPMatrix)); /*申请存储空间*/
    B->mu=A->nu; B->nu=A->mu; B->tu=A->tu;
    /*稀疏矩阵的行、列、元素个数*/
    if (B->tu != 0) /*有非零元素则转换*/
    {
        q=0;
        for (col=1; col<=(A->nu); col++)
      { /*按A 的列序转换*/
          for (p=1; p<= (A->tu); p++) /*扫描整个三元组表*/
              if (A->data[p].j==col )
              {
                  B->data[q].i= A->data[p].j ;
                  B->data[q].j= A->data[p].i ;
                  B->data[q].v= A->data[p].v;
                  q++; 
              }/*if*/
      }

    } /*if(B->tu>0)*/
    return B; /*返回的是转置矩阵的指针*/
} /*TransM1*/
知识图谱中“三元组”抽取——Python中模型总结实战(基于TensorFlow2.5) 目录一、pyhanlp二、stanfordnlp三、pyltp 一、pyhanlp 【基于java的,安装使用前必须先安装java环境】 二、stanfordnlp 【官方GitHub介绍:https://stanfordnlp.github.io/stanfordnlp/training.html】 1、安装:pip 安装 pip install stanfordnlp --proxy 111.666.88.688:808 2、简单使用 import stanfordnlp 三、pyltp 【学习 阅读详情

相关推荐

稀疏矩阵(数组)转化为三元组后三元组的快速转置

稀疏数组 如: 0 3 0 0 7 0 0 0 0 0 0 0 10 0 0 -5 0 0 0 0 0 0 0 6 0 -9 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 转化为三元数组 为(左边的 A.triList): 然后这个数组 行变成列,然后列变成行,而且一次就能排序好 ,该怎么做呢? 这就需要类似动态规划的方法了, 我们先读取一遍,AtriList ,然后 根据 AtriList 的列 统计 相同的列出现了 多少次, 并记录在cnum数组中, 比如说 ,AtriList中

牛大春の博客 977

初识数据结构之三元组

/三元组的类型先定义为float,可以随时变换成别的类型。

weixin_73534845的博客 1万+

数据结构三元组的简单操作

数据结构三元组的简单操作

2301_80770948的博客 1470

【数据结构】三元组表的定义以及快速转置

三元组表的定义以及快速转置

程序员好冰的博客 1万+

数据结构:三元组

随机生成矩阵,并进行一些简单操作(实验的作业) 代码如下: #define MAX 12500 #include #include typedef struct{ int i,j,e; }triple; typedef struct{ triple data[MAX+1]; int mu,nu,tu; }matrix; matrix A,B,C,D; void crea

BJM‘s blog. 1815

数据结构 三元组 C语言实现

#include #include #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef int Status; typedef int ElemType; typedef ElemType* Triplet; Status InitTriplet(Triplet *T, ElemT

亦寒的博客 3065

数据结构之三元组的实现

数据结构之三元组的实现 思路的构建 三元组的实现首先搭建必要的头文件以及相关函数的编写,最后通过主函数调用实现最终的功能。 数据集 D={e1,e2,e3|e1,e2,e3∈ElemSet} 操作集 1.构造三元组 Status InitTriplet(Triplet &T,ElemType v1,ElemType v2,ElemType v3) { //传参列表为三元组指针,元素一、二...

qq_37002607的博客 1万+

三元组--数据结构

摘自《数据结构:C语言版》(严蔚敏,吴伟民编著)第12页例1-7。 抽象数据类型Tiplet的表现与实现。 C语言(本书未直接采用类和对象等设施,而是从C语言中精选了一个核心子集,并增添C++语言的引用调用参数传递方式等,构成一个类C描述语言)源代码如下: # include # include # define TRUE 1 # define FALSE 0 # define

MilkCu的专栏 2258

数据结构之三元组

三元组s1(a,b,c) 元素类型可自定义 elemtype 下面直接贴代码 triple.h 头文件 #ifndef _TRIP_H_ #define _TRIP_H_ #define ERROR -1 //可更改三元组的数据类型 typedef int elem_type; //三元组结构体定义 typedef struct _TRIP { elem_type e1; elem_ty

wangliucsdn的博客 3608

NFS共享速度慢?麒麟系统性能调优5个关键参数实测对比

本文针对银河麒麟服务器系统上NFS共享速度慢的问题,通过实测对比分析了五个关键调优参数。重点探讨了rsize/wsize传输块大小、TCP/UDP协议选择、sync/async模式权衡等,并结合麒麟系统特性提供了具体的优化建议与配置示例,旨在帮助用户有效提升国产化环境下的文件共享性能。

weixin_29254029的博客 337

QT实现Word读写

在windows环境下,我们可以通过ActiveQt实现Office自动化,相当于VB的VBA功能。 以下是一个实例: #include #include #include int main(int argc, char *argv[]) {     QApplication a(argc, argv);     //显示的打开一个word应用程序     QAxW

nameofhsw的专栏 1万+

C 语言实现 数据结构 三元组

C 语言实现 数据结构 三元组(原来的邮箱帐号不能用了,拷贝到该帐号) #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef int Status; typedef int ElemTy...

张圣晨的博客 2677

小新学习K8s第一天之K8s基础概念

kubernetes是一个可移植,可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化。它拥有庞大且快速发展的生态系统。kubernetes服务,支持和工具随处可见。作用:用于自动部署,扩展和管理“容器化应用程序”的开源系统。可以理解成k8s是负责自动化运维管理多个容器化程序(比如docker)的集群,是一个生态及其丰富的容器编排框架工具。

pangdongqiqi的博客 1229

数据结构 三元组转置

#include <stdio.h> #include <malloc.h> typedef struct Triple{ int i; int j; int e; }; typedef struct TSMatrix{ Triple data[100]; int mu,nu,tu;//行列 非零个数 }; //数组 转三元组 struct TSMatrix creatTS(int **a,int rows,int cols) { int sum=0; TSM

weixin_44371476的博客 994

基于UWB技术的自动跟随避障系统设计研究

基于UWB技术的自动跟随避障系统设计研究 摘要:目前我国针对自动跟随避障系统方面的研究较少,同时国内自动跟随避障系统仍然处在未成熟阶段,多数仍停留在应用蓝牙控制或摄像头捕捉这类跟随方式,但这类方式在实际应用过程中往往会出现易受干扰,精度差,易受环境干扰等问题,这不仅会降低自动跟随避障系统的性能,同时也会对用户造成诸多困扰。因此,就需要结合目前较为有效的UWB技术,对自动跟随避障系统进行设计。基于此,本文首先将会针对UWB技术展开概述,而后对基于UWB技术的自动跟随避障系统组成展开分析,进而对基于UWB技术的

qq_43543515的博客 7992

条件DDPM:Diffusion model的第三个巅峰之作

前言:DDPM从2020年诞生,短短一年的时间,模型上有两个巨大的改进,其中一个就是condition的引入,最近大部分DDPM相关的论文都会讨论这一点,有些文章称之为latent variable。和当年GAN的发展类似,CGAN和DCGAN的出现极大程度上促进了GAN的发扬光大,意义重大。本文基于前面几篇文章继续聊一聊: 从VAE到Diffusion Model_沉迷单车的追风少年-优快云博客 为什么diffusion model扩散模型可以称为score-based models?_沉迷单车的.

沉迷单车的追风少年 1万+

数据结构三元组操作

  复习数据结构,发现今天才真正了解数据结构是怎么一回事。当初学的完全忘了,这次从新开始吧。 1.抽象数据类型 /* ADT Triplett {   数据对象:D={e1,e2,e3|e1,e2,e3∈ElemSet(定义了关系运算的某个集合) }   数据关系:R={<e1,e2,><e2,e3> }   基本操作: ...

weixin_30699463的博客 1240

SpringBoot整合JWT实战:从零构建无状态认证系统,详解Token生成、验证与安全最佳实践

JWT在SpringBoot中的实现与应用 摘要:本文介绍了JWT(JSON Web Token)的基本概念、与Session机制的对比,以及SpringBoot项目中JWT的整合实现。JWT由Header、Payload和Signature三部分组成,具有无状态、跨域支持等优势。文章详细展示了如何在SpringBoot项目中配置JWT环境,封装JWT工具类来实现Token的生成、解析和验证功能,包括密钥管理、自定义声明、签名验证等核心操作。通过对比表格和生活化比喻,帮助读者理解JWT与传统Session的

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1777

数据结构三元组

练习了一下数据结构中的三元组,代码看着挺整齐的删除了可惜,保存着没有什么用,放到这里吧。 #include #include typedef struct Triplet { int a; int b; int c; }Triplet; void InitTriplet(Triplet *t,int a,int b,int c) { (*t).a=a; (*t).b=b;

架构师之路,举步维艰。 2956

“华为杯”研究生数学建模竞赛2020年-【华为杯】B题:汽油辛烷值优化建模(附优秀论文)

摘 要:本文通过机器学习算法和数据挖掘技术,建立了汽油辛烷值(RON)损失的预测模型,在保证汽油产品脱硫效果的前提下,以降低汽油辛烷值损失在30%以上为目标,给出每个样本的优化操作条件。针对第一问,对285号和313号原始数据用给定的数据处理规范进行预处理,对每一列变量求期望,得到最终的数据补充到相应的样本编号。针对第二问,首先对数据样本按照最大最小限幅以及拉依达法则进行列变量清洗,通过两轮特征筛选确定变量:结合处理后的数据,针对产品中硫含量、RON损失值用。

getusushu的博客 1251

EPO: Hierarchical LLM Agents with Environment PreferenceOptimization

长期决策和规划任务依然是基于大型语言模型(LLM)的智能体面临的一大挑战(Valmeekam 等,2023;Liu 等,2023;Silver 等,2024)。这些任务需要智能体进行多步骤的规划,同时保持行为的一致性和目标导向,这对于通常被设计用于即时和局部预测的大型语言模型来说颇为困难。此外,针对具身智能体的大型语言模型微调面临的一个关键难题是大规模标注数据的需求(Reed 等,2022)。

qq_52053775的博客 142

数据结构三元组实验报告_数据结构 实验五  稀疏矩阵的三元组实现实验

一、实验目的及要求:掌握稀疏矩阵的三元组表示方法、算法实现。二、实验内容:(1) 基于三元组的稀疏矩阵表示与输入、输出方法(必做);(2) 基于三元组的稀疏矩阵加法(选做);(3) 基于三元组表示的稀疏矩阵转置(选做);(4) 基于三元组表示的稀疏矩阵的乘法(选做)。三、实验准备:1) 计算机设备;2) 程序调试环境的准备,如TC环境;3) 实验内容的算法分析与代码设计与分析准备。四、实验步骤和实...

weixin_36138385的博客 2732

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

数据结构实验---三元组

实现三元组的构建、销毁、放与置、找最大值、找最小值、判断是否为升序、降序 #include "stdio.h" #include "stdlib.h" #include "malloc.h" #include "string.h" #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef int Status; typedef flo...

weixin_43807466的博客 825

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

数据结构三元组实验报告_数据结构三元组

#include&ltiostream&gt#include&ltmalloc.h&gt#include&ltiomanip&gtusing namespace std;#define TRRE1#define FALSE0#define OK1#define ERROR0#define INFRASIBLE-1#define OVERFLOW-2t...

weixin_36341500的博客 433

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

c语言三元组作用,数据结构 三元组 C语言实现

#include #define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;typedef int ElemType;typedef ElemType* Triplet;Status InitTriplet(Triplet *T, ElemType v1, ElemType v2...

weixin_29016865的博客 579
上一篇: 【数据结构】广义表
下一篇: 【CS231n】cs231斯坦福大学计算机视觉课程笔记翻译--学习(转载)
HelloZEX
博客等级 码龄11年 486粉丝 264原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值