Go 語言程式判斷給定矩陣是否為稀疏矩陣
在本教程中,我們將編寫一個 Go 語言程式來確定給定的矩陣是否為稀疏矩陣。如果矩陣中存在的零元素數量多於非零元素的數量,則稱方陣為稀疏矩陣。
Go 語言程式檢查矩陣是否為稀疏矩陣
在本例中,我們將編寫一個 Go 語言程式來檢查稀疏矩陣。我們將在程式的主體部分使用 for 迴圈以及 if 條件來實現結果。
演算法
步驟 1 − 首先,我們需要匯入 fmt 包。
步驟 2 − 然後開始 main() 函式。在 main() 中初始化變數。
步驟 3 − 現在,初始化一個矩陣並向其中儲存值。此外,在螢幕上列印此矩陣。
步驟 4 − 使用 len() 函式將矩陣的行數和列數儲存在 rows 和 cols 變數中。
步驟 5 − 使用 for 迴圈遍歷矩陣的每個元素,並檢查當前元素是否為零。如果元素為零,則遞增 count 變數。
步驟 6 − 現在,如果 count 的值超過矩陣中元素的一半,則列印矩陣為稀疏矩陣,否則列印矩陣不是稀疏矩陣。
步驟 7 − 透過初始化另一個矩陣重複此過程。
示例
package main
import "fmt"
func main() {
// initializing variables
var i, j int
var count int = 0
matrixA := [3][3]int{
{0, 1, 2},
{4, 0, 0},
{0, 0, 0},
}
var rows int = len(matrixA)
var cols int = len(matrixA[0])
// printing matrix
fmt.Println("The first matrix is:")
for i = 0; i < rows; i++ {
for j = 0; j < cols; j++ {
fmt.Print(matrixA[i][j], "\t")
}
fmt.Println()
}
// checking if matrix is a sparce matrix
for i = 0; i < rows; i++ {
for j = 0; j < cols; j++ {
if matrixA[i][j] == 0 {
count++
}
}
}
if count > (rows*cols)/2 {
fmt.Println("The above matrix is a sparce matrix")
} else {
fmt.Println("The given matrix is not sparce")
}
fmt.Println()
// initializing another matrix
matrixB := [3][3]int{
{0, 11, 12},
{13, 0, 15},
{16, 0, 18},
}
count = 0
rows = len(matrixB)
cols = len(matrixB[0])
fmt.Println("The second matrix is:")
for i = 0; i < rows; i++ {
for j = 0; j < cols; j++ {
fmt.Print(matrixB[i][j], "\t")
}
fmt.Println()
}
fmt.Println()
for i = 0; i < rows; i++ {
for j = 0; j < cols; j++ {
if matrixB[i][j] == 0 {
count++
}
}
}
if count > (rows*cols)/2 {
fmt.Println("The above matrix is a sparce matrix")
} else {
fmt.Println("The above matrix is not sparce")
}
}
輸出
The first matrix is: 0 1 2 4 0 0 0 0 0 The above matrix is a sparce matrix The second matrix is: 0 11 12 13 0 15 16 0 18 The above matrix is not sparce
結論
我們已經成功編譯並執行了一個 Go 語言程式來檢查給定的矩陣是否為稀疏矩陣,並附帶示例。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP