什么是十字链表?

什么是十字链表?十字链表是一种存储稀疏矩阵的方法,该存储方式采用的是”链表+数组”结构,如图1所示。图1十字链表示意图可以看到,使用十字链表压缩存储稀疏矩阵时,矩阵中的各行各列都各用一各链表存储,与此同时,所有行链表的表头存储到一个数组(rhead),所有列链表的表头存储到另一个数组(chead)中。因此,各个链表中节点的结构应如图2所示:图2十字链表的节点结构两个指针域分别用于链接所在行的下一个元素以及所在列的下一个元素。链表中节点的代码可以表示为:typede.

大家好,又见面了,我是你们的朋友全栈君。

十字链表是一种存储稀疏矩阵的方法,该存储方式采用的是 “链表+数组” 结构,如图1 所示。

什么是十字链表?
图 1 十字链表示意图

 

可以看到,使用十字链表压缩存储稀疏矩阵时,矩阵中的各行各列都各用一各链表存储,与此同时,所有行链表的表头存储到一个数组(rhead),所有列链表的表头存储到另一个数组(chead)中。

因此,各个链表中节点的结构应如图 2 所示:

十字链表的节点结构
图 2 十字链表的节点结构

两个指针域分别用于链接所在行的下一个元素以及所在列的下一个元素。

链表中节点的代码可以表示为:

typedef struct OLNode{
        int i,j;//元素的行标和列标
        int data;//元素的值
        struct OLNode * right,*down;//两个指针域
    }OLNode;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150332.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • strstr函数 C++

    strstr函数 C++strstr函数分类: C/C++2011-08-1310:00 696人阅读 评论(0) 收藏 举报函数名:strstr功能:在串中查找指定字符串的第一次出现用法:char*strstr(char*str1,char*str2);程序例:#include#includeintmain(void){

    2022年6月25日
    24
  • linux基础50——ldd

    linux基础50——ldd1.概念ldd命令用于打印程序或者共享库文件所依赖的共享库列表。注意,ldd本身不是一个二进制程序,而是一个Shell脚本,使用文本编辑器vim可以查看其内容,具体目录可以使用which命令查看:[root@192pthread]#whichldd/usr/bin/ldd我们知道,Linux的动态库装载器ld-linux.so模块会先于executable模块工作,并获得控制权,ld-linux.so会通过系统环境变量的设置,选择只显示可执行模块的d

    2022年6月3日
    47
  • Django(30)Django常用的模板标签

    Django(30)Django常用的模板标签常用的模板标签if标签if标签相当于Python中的if语句,有elif和else相对应,但是所有的标签都需要用标签符号({%%})进行包裹。if标签中可以使用==、!=、<、<=、&

    2022年8月7日
    7
  • 逻辑与(&&)、逻辑或(||)、按位与(&)、按位或(|)、按位异或(^)、按位取反(~)

    逻辑与(&&)、逻辑或(||)、按位与(&)、按位或(|)、按位异或(^)、按位取反(~)按位与计算方法:转换为二进制后,不够的位数补齐,然后通过0为false1为true的规则,对每一位之间进行与的运算(只有true+true才为true),最后再将数转回十进制。按位或计算方法:转换为二进制后,不够的位数补齐,然后通过0为false1为true的规则,对每一位之间进行或的运算(只有false+false才为false),最后再将数转回十进制。异或运算这是一种可以不用加号…

    2022年6月6日
    38
  • 图解Kafka的服务端的网络通信模型

    图解Kafka的服务端的网络通信模型在开始讲解Kafka的网络通信模型之前,我们有必要先简单了解一下:线程模型Reactor模式Reactor模式Reactor模式,是指通过一个或多个输入同时传递给服务处理器的服务请求的事件驱动处理模式。服务端程序处理传入多路请求,并将它们同步分派给请求对应的处理线程,Reactor模式也叫Dispatcher模式。即I/O多了复用统一监听事件,收到事件后分发(Dispatch给某进程),是编写高性能网络服务器的必备技术之一。根据Reactor的数量和处理资源池线程的数量不同,有

    2022年7月14日
    18
  • UPS不间断电源原理_不间断电源ups原理

    UPS不间断电源原理_不间断电源ups原理扫描以下二维码加入学习群

    2025年5月31日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号