用随机数生成稀疏矩阵,并生成三元组
时间: 2024-06-09 12:09:41 浏览: 68
稀疏矩阵的三元组实现
生成稀疏矩阵可以使用随机数和稀疏度来控制非零元素的个数,然后将稀疏矩阵转换成三元组。
下面是一个示例代码:
```python
import random
# 稀疏度为 0.3,即非零元素的比例为 0.3
sparsity = 0.3
# 矩阵的大小为 5 x 5
n_rows = 5
n_cols = 5
# 生成稀疏矩阵
matrix = [[0] * n_cols for _ in range(n_rows)]
for i in range(n_rows):
for j in range(n_cols):
if random.random() < sparsity:
matrix[i][j] = random.randint(1, 10)
# 将稀疏矩阵转换成三元组
triplets = []
for i in range(n_rows):
for j in range(n_cols):
if matrix[i][j] != 0:
triplets.append((i, j, matrix[i][j]))
print("稀疏矩阵:")
for row in matrix:
print(row)
print("三元组:")
for triplet in triplets:
print(triplet)
```
输出结果如下:
```
稀疏矩阵:
[0, 0, 0, 0, 3]
[0, 0, 0, 0, 8]
[4, 0, 0, 0, 0]
[0, 0, 5, 0, 0]
[0, 0, 8, 0, 0]
三元组:
(0, 4, 3)
(1, 4, 8)
(2, 0, 4)
(3, 2, 5)
(4, 2, 8)
```
阅读全文