什么是十字链表?

什么是十字链表?十字链表是一种存储稀疏矩阵的方法,该存储方式采用的是”链表+数组”结构,如图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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Audio的framecount、framesize、sampleRate计算关系

    Audio的framecount、framesize、sampleRate计算关系Audio的framecount、framesize、sampleRate计算关系

    2022年10月16日
    4
  • Java:使用wait()与notify()实现线程间协作

    Java:使用wait()与notify()实现线程间协作

    2021年7月26日
    53
  • 使用CAShapeLayer与UIBezierPath画出想要的图形「建议收藏」

    使用CAShapeLayer与UIBezierPath画出想要的图形「建议收藏」怪哈哈,ACG游戏,ACG和谐区,足控福利,里番漫画,里番动漫,里番库,里番吧,本子库使用CAShapeLayer与UIBezierPath可以实现不在view的drawRect方法中就画出一些想要的图形步骤:1、新建UIBezierPath对象bezierPath2、新建CAShapeLayer对象caShapeLayer3、将bezierPa

    2022年8月23日
    8
  • java高性能文件缓存_java缓存机制

    java高性能文件缓存_java缓存机制转载地址:http://blog.csdn.net/madun/article/details/8569860最近再ITEYE上看到关于讨论JAVA缓存技术的帖子比较多,自己不懂,所以上网大概搜了下,找到一篇,暂作保存,后面如果有用到可以参考。此为转贴,帖子来处:http://cogipard.info/articles/cache-static-files-with-jnotify-and-eh…

    2022年10月4日
    3
  • 怎么修改HTML网页的名字_如何修改html文件内容

    怎么修改HTML网页的名字_如何修改html文件内容NetCms默认设置中,只能上传Doc文件,不能上传xls文件和PPT文件。 上传文件类型可以“控制面板–>参数设置–>上传文件允许格式”中设置。但是,仅能上传,添加新闻时,添加附件的文件选择框中无法看到xls文件和ppt文件。 通过查看源文件,添加新闻页面是~/Manage/News/News_add.aspx文件,在该文件中,添加附件位置,通过调用JavaScript的s

    2022年9月29日
    3
  • 计算机端口大全_计算机网络常见的端口号

    计算机端口大全_计算机网络常见的端口号计算机端口大全0端口:无效端口,通常用于分析操作系统1端口:传输控制协议端口服务多路开关选择器2端口:管理实用程序3端口:压缩进程5端口:远程作业登录7端口:回显9端口:丢弃11端口:在线用户13端口:时间17端口:每日引用18端口:消息发送协议19端口:字符发生器20端口:FTP文件传输协议(默认数据口)21端口:FTP文件传输协议(控制)22端口:SSH远程登录协议23端口:telnet(终端仿真协议),木马TinyTelnetServer开放此端口24端口:预留

    2025年9月4日
    21

发表回复

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

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