什么是十字链表?

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

相关推荐

  • MATLAB中画折线图:plot函数的简单用法

    MATLAB中画折线图:plot函数的简单用法使用plot绘制二维图像MATLAB中plot函数常常被用于绘制各种二维图像,其用法也是多种多样,本文仅介绍plot函数的基本用法——使用plot函数绘制二维点图和线图。plot函数的一般调用形式如下:plot(X,Y,LineSpec)其中X由所有输入点坐标的x值组成,Y是由与X中包含的x对应的y所组成的向量。LineSpec是用户指定的绘图样式,主要选项如下:Specif…

    2022年6月9日
  • MSSQL 的QUOTENAME函数「建议收藏」

    MSSQL 的QUOTENAME函数「建议收藏」–功能:返回带有分隔符的Unicode字符串,分隔符的加入可使输入的字符串成为有效的MSSQL分隔标识符。–语法QUOTENAME(‘character_string'[,’quote_character’]) –SQL语句中的字段名,表名为关键字时,用QUOTENAME添加有效分隔符() –在动态查询中,对表名参数QUOTENAME处理,避免表名为

    2022年7月25日
  • emwin仪表控件_仪表开发工程师

    emwin仪表控件_仪表开发工程师本文导读i.MXRT1052具有增强型显示接口(eLCDIF),支持8/16/18/24位的数据总线模式。M1052核心板最高可支持1366×768的高清图像显示,芯片内置音频接口,搭载免费的emWin图形库可广泛应用多媒体设计。一、emWin介绍emWin是Segger公司针对嵌入式平台开发的稳定、高效的图形软件库,适合用于任何图形LCD的操作应用,并可输出高质量的无锯齿的文字和图形,通过调用…

    2022年10月14日
  • C语言学习——结构体数据类型

    C语言学习——结构体数据类型本章节比较简单不做过多说明,直接上案例,如有疑问,欢迎留言。结构体作为函数参数#include <stdio.h>#include <string.h>struct Books{ char name[50]; char author[50]; int book_id;};// 函数声明void printBook(struct Books *b…

    2022年8月18日
  • dropdownlist赋值_paypal可以绑定什么卡

    dropdownlist赋值_paypal可以绑定什么卡很多的时候需要把枚举作为数据源绑定DropDownList,一直简单的做法是: 1    /**////  2    /// 排序方向下拉列表,从DropDownList继承 3    ///  4    public class SortOrderDropDownList : DropDownList 5    { 6        public SortOrderDropDownList(

    2022年10月8日
  • Git代码管理之.gitignore文件

    Git代码管理之.gitignore文件

    2021年9月13日

发表回复

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

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