一、實驗目的
深入研究陣列的儲存表示和實現技術,著重掌握對稀疏矩陣的表示方法及其運算的實現。
二、問題描述
稀疏矩陣是指那些多數元素為零的矩陣。利用『稀疏』特點進行儲存和計算可以大大節省儲存空間,提高效率。通過對稀疏矩陣的儲存表示,實現矩陣的基本操作。
3、演算法分析
矩陣可以通過二維陣列來實現儲存,而對於矩陣的加減法可以通過對陣列元素進行對應相加減來實現,而矩陣的乘法乘積矩陣中元素
q(i,j)=
公式來進行計算。
四、實驗內容和過程
1.實驗**
#include
using namespace std;
int main()
,n[20][20]={},s[20][20]={},x[20][20]={},v[20][20]={};
meu:
cout< cout<<"請選擇要計算的選項"< cout<<"1.矩陣的轉置"< cin>>sel;
switch(sel)
lab1:
cout<<"請輸入矩陣的行列和非0元素個數"< cin>>i>>j>>k;
cout<<"請輸入非零元素的位置和值"< for(p=1;p<=k;p矩陣輸入
cin>>a>>b>>z;
m[a][b]=z;}
cout<<"輸入矩陣為"< h=0;
for(a=0;a for(b=0;b
cout<<"輸入的第乙個矩陣為"< h=0;
for(a=0;a for(b=0;b
cout<<"輸入的第二個矩陣為"< h=0;
for(a=0;a for(b=0;b
cout<<"相加之後矩陣為"< h=0;
for(a=0;a for(b=0;b
cout<<"輸入的第乙個矩陣為"< h=0;
for(a=0;a for(b=0;b
cout<<"輸入的第二個矩陣為"< h=0;
for(a=0;a for(b=0;b
cout<<"相減之後矩陣為"< h=0;
for(a=0;a for(b=0;b
cout<<"輸入的第乙個矩陣為"< h=0;
for(a=0;a for(b=0;b
cout<<"輸入的第二個矩陣為"< h=0;
for(a=0;a for(b=0;b
cout<<"矩陣相乘之後為"< for(a=0;a for(b=0;b
h=0;
for(a=0;a for(b=0;b
輸入資料:
實驗結果分別截圖
五、總結和感想
本章主要為陣列和廣義表,而用二維陣列的方式又能夠實現對矩陣的表示,主要對陣列的定義,陣列的順序表示和實現,而在陣列之後又對矩陣的表示方法進行了深入的探索和擴充套件,其中特殊矩陣的稀疏矩陣的方法很重要,在實驗當中運用書中的矩陣表示方法來用二維陣列來實現,而稀疏矩陣的應用又能簡化對於矩陣的儲存和表達方式,對於矩陣進行了擴充套件和深化。
《資料結構》第5章陣列和廣義表
第 5 章陣列和廣義表 一 選擇題 1.設有乙個10階的對稱矩陣a,採用壓縮儲存方式,以行序為主儲存,a11為第一元素,其儲存位址為1,每個元素佔乙個位址空間,則a85的位址為 燕山大學 2001 一 2 2分 a.13b.33c.18d.40 2.有乙個二維陣列a 1 6,0 7 每個陣列元素用相...
資料結構實驗5 串子系統
驗證性實驗5 串子系統 班級學號 012301114114 姓名胡德文1 實驗目的 1 掌握串的特點及順序定長儲存的方式。2 掌握串的建立 連線 插入 刪除 顯示等操作。3 掌握串的查詢 取子字串 比較串大小的操作 4 掌握模式匹配的基本思想及其演算法。2 實驗內容 1 由使用者通過鍵盤輸入建立乙個...
資料結構實驗
資訊23 2120502060 古碧野一 實驗題目 建立乙個線性表,實現線性表的建立,插入,刪除和遍歷 二.實驗目的和要求 實驗目的 熟練掌握線性表的基本操作在順序儲存結構上的實現。實驗要求 用c語言編寫源程式,並除錯通過,測試正確。三.主要儀器裝置 windows xp操作平台,visual c ...