对称矩阵与压缩存储算法(java实现)
package 数组和矩阵;
public class DuiChenJuZhenYaSuo {
int[] arr;
int order; //矩阵的阶数
int n; //压缩后一位数组的个数
public DuiChenJuZhenYaSuo(int order) {
this.n= order * (order + 1) / 2;
this.arr = new int[this.n];
this.order = order;
}
public void init(int[][] a) {
int k = 0;
for (int i = 0; i < order; i++) {
for (int j = 0; j <= i; j++) {
arr[k++] = a[i][j];
}
}
}
public void init(int[] a) {
for (int i = 0; i < n; i++) {
arr[i] = a[i];
}
}
public void print() {
int k;
for (int i = 1; i <= order; i++) {
for (int j = 1; j <= order; j++) {
k= (i >= j) ? (i * (i - 1) / 2 + j - 1) : (j * (j - 1) / 2 + i - 1);
System.out.print(arr[k] + " ");
}
System.out.println();
}
}
public DuiChenJuZhenYaSuo merge(DuiChenJuZhenYaSuo a) {
DuiChenJuZhenYaSuo test = new DuiChenJuZhenYaSuo(this.order);
int k;
for (int i = 1; i <= order; i++) {
for (int j = 1; j <= order; j++) {
k = (i >= j) ? (i * (i - 1) / 2 + j - 1) : (j * (j - 1) / 2 + i - 1);
test.arr[k] = this.arr[k] + a.arr[k];
}
}
return test;
}
public static void main(String[] args) {
DuiChenJuZhenYaSuo test = new DuiChenJuZhenYaSuo(3);
DuiChenJuZhenYaSuo test2 = new DuiChenJuZhenYaSuo(3);
int[][] a = { { 1, 0, 0 }, { 2, 3, 0 }, { 4, 5, 6 } };
int[] b= {1,2,3,4,5,6};
test.init(b);
test2.init(a);
test = test.merge(test2);
test.print();
}
}
对称矩阵与压缩存储算法(java实现)的更多相关文章
- C++ 特殊矩阵的压缩存储算法
1. 前言 什么是特殊矩阵? C++,一般使用二维数组存储矩阵数据. 在实际存储时,会发现矩阵中有许多值相同的数据或有许多零数据,且分布呈现出一定的规律,称这类型的矩阵为特殊矩阵. 为了节省存储空间, ...
- java数据结构至对称矩阵压缩存储
刚刚刷java选择题,遇到的对称矩阵压缩存储问题,我们知道对称矩阵是aij=aji的矩阵,压缩存储可以采用一维数组和二维数组存储. 此处只讨论一维数组存储的形式,设数组下标从0开始,对称矩阵为n维矩阵 ...
- 三元组表压缩存储稀疏矩阵实现稀疏矩阵的快速转置(Java语言描述)
三元组表压缩存储稀疏矩阵实现稀疏矩阵的快速转置(Java语言描述) 用经典矩阵转置算法和普通的三元组矩阵转置在时间复杂度上都是不乐观的.快速转置算法在增加适当存储空间后实现快速转置具体原理见代码注释部 ...
- 数据的压缩存储与解压缩算法实现(C语言)
在一些嵌入式的项目设计中,空间是相当宝贵的,因为一个CPU的存储是有限的,所以此时我们在保存数据的时候,喜欢来进行压缩保存,著名的有哈夫曼树算法,专门用来做压缩的算法,当然,本节我们不讨论这些稍微高级 ...
- Hive(八)Hive的Shell操作与压缩存储
一.Hive的命令行 1.Hive支持的一些命令 Command Description quit Use quit or exit to leave the interactive shell. s ...
- 无向图的最短路径算法JAVA实现
一,问题描述 给出一个无向图,指定无向图中某个顶点作为源点.求出图中所有顶点到源点的最短路径. 无向图的最短路径其实是源点到该顶点的最少边的数目. 本文假设图的信息保存在文件中,通过读取文件来构造图. ...
- 无向图的最短路径算法JAVA实现(转)
一,问题描述 给出一个无向图,指定无向图中某个顶点作为源点.求出图中所有顶点到源点的最短路径. 无向图的最短路径其实是源点到该顶点的最少边的数目. 本文假设图的信息保存在文件中,通过读取文件来构造图. ...
- Floyd算法java实现demo
Floyd算法java实现,如下: https://www.cnblogs.com/Halburt/p/10756572.html package a; /** * ┏┓ ┏┓+ + * ┏┛┻━━━ ...
- 特殊矩阵的压缩存储(转自chunlanse2014)
对称矩阵 对于一个矩阵结构显然用一个二维数组来表示是非常恰当的,但在有些情况下,比如常见的一些特殊矩阵,如三角矩阵.对称矩阵.带状矩阵.稀疏矩阵等,从节约存储空间的角度考虑,这种存储是不太合适的.下面 ...
随机推荐
- iOS load和initialize的区别
可能有些还不清楚load和initialize的区别,下面简单说一下: 首先说一下 + initialize 方法:苹果官方对这个方法有这样的一段描述:这个方法会在 第一次初始化这个类之前 被调用,我 ...
- Java 中的类
public class Test{ public static void main(String[] args){ Animal a1 = new Dog(); a1.shout();//编译通过 ...
- abp AutoMap Custom Mapping
[DependsOn(typeof(AbpAutoMapperModule))] public class MyModule : AbpModule { public override void Pr ...
- Spring MVC之RequestMappingHandlerAdapter初始化
RequestMappingHandlerAdapter基于注解的处理器适配器,目的是用来执行handler,同时返回modelAndView给前端控制器,这块个人感觉是spring mvc的核心了, ...
- dojoConfig包的配置(7/26号夜)
主页代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> ...
- 可用免费asp.net空间
免费试用空间: 支持到.net 4.6,有sql server数据.1G空间,500M数据库.免费使用60天.可绑定一二级域名.到期不能再绑定已绑定过的域名. http://www.mywindows ...
- 字符串匹配的KMP算法(转载)
字符串匹配是计算机的基本任务之一. 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD" ...
- Websocket出现的错误
前端使用sockjs,后台使用spring的websocket框架 结果在一个网络较慢的地方,发现tomcat报错信息: Oct 28, 2015 10:10:43 AM org.apache.cat ...
- 强制TFS用户与计算机(域)用户同步
默认情况下,添加到域AD组中的账户不会立刻同步到TFS中. TFS每小时与域控制器同步一次,将计算机安全组中的账户添加到TFS中. 但是可以通过下面几种方式强制TFS立刻同步域中的账户: 1. 在TF ...
- mysql5.7 column cannot be null
背景 独立测试环境安装了数据库,但安装的版本是mysql 5.7的版本,而研发用的是mysql5.6的版本,在执行某个数据库操作的提示,提示column “xxxx”cannot be null 问题 ...