循环 uBlas 稀疏矩阵的非零元素
我有以下包含 O(N)
元素的稀疏矩阵,
boost::numeric::ublas::compressed_matrix<int> adjacency (N, N);
我可以编写一个强力双循环来遍历 O(N^2)
时间内的所有条目,例如下面,但这会太慢。
for(int i=0; i<N; ++i)
for(int j=0; j<N; ++j)
std::cout << adjacency(i,j) std::endl;
如何在 O(N)
时间内仅循环非零条目?对于每个非零元素,我希望能够访问它的值和索引i,j
。
I have the following sparse matrix that contains O(N)
elements
boost::numeric::ublas::compressed_matrix<int> adjacency (N, N);
I could write a brute force double loop to go over all the entries in O(N^2)
time like below, but this is going to be too slow.
for(int i=0; i<N; ++i)
for(int j=0; j<N; ++j)
std::cout << adjacency(i,j) std::endl;
How can I loop over only the non-zero entries in O(N)
time? For each non-zero element I would like to have access to its value, and the indexes i,j
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在此常见问题解答中找到答案:如何迭代所有非零元素?
在你的情况下,它将是:
You can find the answer in this FAQ: How to iterate over all non zero elements?
In your case it would be: