C#数据结构-稀疏矩阵

更新时间:2023-07-11 03:56:05 阅读: 评论:0

C#数据结构-稀疏矩阵
了解稀疏矩阵之前,我们先聊聊数组,数组都清楚string[10] str;这⾥的str就是⼀个数组,它的存储⽅式是str[0],str[1],str[2]...这样,放在⼀个连续存储空间⾥⾯。。那么同样的,⼆维数组我们这⾥stirng[2][2] str;,它的存储结构也是⼀个顺序存储,所以我们这⾥把这个str 的2*2写全,str[0][0],str[0][1],str[1][0],str[1][1]这样。。。
⼆维数组通常称为矩阵,so,矩阵跟稀疏矩阵⽂字上⾯是⾮常相近了,稀疏:我们可以认为是少,什么少,数组⾥⾯只有元素...so,元素⾮常少的矩阵就是稀疏矩阵。⽐如说100*100的矩阵,⾥⾯不为0的元素只有100个,那么我们可以称为他是稀疏矩阵,也就是有效元素远⼩于总元素的时候,我们可以称为稀疏矩阵。
稀疏矩阵的特点:
1.⾮0(有效)元素⾮常少
2.排列没有规律
根据这些特点,我们存储稀疏矩阵元素的时候会以:⾏号,列号,元素(i,j,a)这样的三元组存储,接下来我们对稀疏矩阵的⼀些操作。
⾸先创建数据:
平安寺
/// <summary>
/// ⼀个三元组类型
/// </summary>
public struct TupNode
{
//⾏号
public int r;
//列号
public int c;
//元素值
public int d;
}
/// <summary>
/// 稀疏矩阵顺序表
/// </summary>
public struct TupSparMatrix
{
//⾏数
public int rows;
//列数
public int cols;
/
/⾮0元素个数
public int nums;
public TupNode[] data;
}
然后就是操作了
/// <summary>
/// 稀疏矩阵的操作
/// </summary>
class SparMatrixClass
{
readonly int MaxSize = 100;
public TupSparMatrix trip;
public SparMatrixClass()
{
在租车
trip = new TupSparMatrix();
trip.data = new TupNode[MaxSize];
}
#region 把⼆维数组(矩阵)转换成三元组
public void CreateTupSparMatrix(int[,] matrix)残积土
{
公益活动作文
//GetLength是求维度的个数,从0开始
trip.nums = 0;
//遍历这个⼆维数组
for (int i = 0; i < ws; i++)
{
for (int j = 0; j < ls; j++)
{
//不等于0并且存储数量不超过存储数量的存储
if (matrix[i, j] != 0 && MaxSize > trip.nums)
{
trip.data[trip.nums].r = i;
trip.data[trip.nums].c = j;
trip.data[trip.nums].d = matrix[i, j];
trip.nums++;
}
}
}
}
#endregion
对联资料
#region 输出三元组(i,j,d)
public string DispTupSparMatrix()
迎春糕{
string tupStr = "";
for (int i = 0; i < trip.nums; i++)
{
tupStr += string.Format("({0},{1},{2})", trip.data[i].r, trip.data[i].c, trip.data[i].d);            }
return tupStr;
}
#endregion
#region 矩阵转置,这⾥稍微优化了下
public void Transpo(ref SparMatrixClass tb)
{
SparMatrixClass sm = new SparMatrixClass();
喜欢两个人歌词
//置换
for (int i = tb.trip.nums; i >0; i--)
{
泰迪品种
}
tb = sm;
}
#endregion
}

本文发布于:2023-07-11 03:56:05,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1090157.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:矩阵   元素   数组   数量   个数
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图