稀疏矩陣的乙個實現

2021-04-02 09:05:44 字數 1831 閱讀 9916

#include

using namespace std;

template

class linkedlist

t * find(const t & value);

void display() const;

public:

t * head;

int length;

};template

t * linkedlist::get(int index)

template

void linkedlist::display() const

}class sparsenode

sparsenode(const sparsenode & element);

~sparsenode()

void display() const

public:

int _col; 

int _value;

public:

sparsenode * next;

};class headnode

headnode(const headnode & other)

~headnode(){}

void display() const;

void insert(const sparsenode & value);

bool operator==(const headnode & other);

public:

headnode * next;

public:

int _row;       //行

linkedlistelements; //行列表

};void headnode::display() const

;void sparsematrix::add(const sparsematrix & other)

else //目的列小

}while(sp2) //如果目的列還有剩餘,則全部插入

first=first->next;

second=second->next;

}else //目的列小,則全部插入

second=second->next;   }}

//如果目的矩陣還有行數,則全部插入

if(second)

temp=temp->next;}}

}void sparsematrix::display() const

template

linkedlist::linkedlist()

}template

void linkedlist::insert(const t & value)

t * tail=head;

while(tail->next)

tail=tail->next;

tail->next=temp;

temp->next=null;

}template

t * linkedlist::find(const t & value)

sparsenode::sparsenode(const sparsenode & element)

void headnode::insert(const sparsenode & value)

sparsematrix::sparsematrix()

sparsematrix::~sparsematrix()

void sparsematrix::set(int row,int col,int value)

location->insert(sparsenode(col,value));

}int main()

python創造乙個稀疏矩陣

答 能高效地表示只有零星非零值的資料 import numpy as np from scipy import sparse 建立乙個矩陣 matrix np.array 0,0 0,1 3,0 建立乙個壓縮的稀疏行矩陣 只保留非零的值 matrix sparse sparse.csr matrix...

實現稀疏矩陣相乘C C

1 問題描述 已知稀疏矩陣a m1,n1 和b m2,n2 求乘積c m1,n2 a 3 0 0 7 b 4 1 c 12 17 0 0 0 1 0 0 0 2 0 2 0 0 1 1 0 0 0 2 a b c的三元組表示法分別為 a ijv1112 2147 324 1 4322 b i jv1...

由乙個矩陣得到乙個掩模矩陣

1.假設有乙個不完整的資料,如下 2030251 51830 317810 0232930112 1815 0import pandas as pd import numpy as np read data data pd.read csv data.csv a np.isnan data get ...