




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)2 稀疏矩陣的建立與轉(zhuǎn)置一、實(shí)驗(yàn)?zāi)康恼莆仗厥饩仃嚨拇鎯?chǔ)和操作算法。二、實(shí)驗(yàn)內(nèi)容及問題描述實(shí)現(xiàn)用三元組保存稀疏矩陣并實(shí)現(xiàn)矩陣轉(zhuǎn)置的算法。三、實(shí)驗(yàn)步驟1. 定義稀疏矩陣的三元組形式的存儲(chǔ)結(jié)構(gòu)。2. 實(shí)現(xiàn)三元組矩陣的傳統(tǒng)轉(zhuǎn)置算法。3. 實(shí)現(xiàn)三元組矩陣的快速轉(zhuǎn)置算法。4. 輸入矩陣非零元素,測(cè)試自己完成的算法。四、程序流程圖五、概要設(shè)計(jì)矩陣是很多的科學(xué)與工程計(jì)算中研究的數(shù)學(xué)對(duì)象。在此,我們感興趣的是,從數(shù)學(xué)結(jié)構(gòu)這門學(xué)科著眼,如何存儲(chǔ)矩陣的元從而使矩陣的各種運(yùn)算有效的進(jìn)行。 本來,用二維數(shù)組存儲(chǔ)矩陣,在邏輯上意義是很明確的,也很容易理解,操作也很容易和方便。但是在數(shù)值分析中經(jīng)常出現(xiàn)一些階數(shù)很高的矩陣
2、,同時(shí),在矩陣中又有很多值相同或者都為零的元素,可以對(duì)這種矩陣進(jìn)行壓縮存儲(chǔ):對(duì)多個(gè)值相同的元素只分配一個(gè)存儲(chǔ)空間;對(duì)零元素不分配空間。稀疏矩陣的定義是一個(gè)模糊的定義:即非零元個(gè)數(shù)較零元個(gè)數(shù)較少的矩陣。例如下圖所示的矩陣為一個(gè)稀疏矩陣。 為了實(shí)現(xiàn)稀疏矩陣的這種存儲(chǔ)結(jié)構(gòu),引入三元組這種數(shù)據(jù)結(jié)構(gòu)。三元組的線性表順存儲(chǔ)形式如下圖:六、詳細(xì)設(shè)計(jì)sanyuanzu.h 頭文件#define max 100typedef struct int row,col; int e;Triple;/定義三元組typedef struct Triple datamax; int mu,nu,tu;TSMatrix;/*
3、定義三元組的稀疏矩陣*/ void creat( TSMatrix &M) ; void fasttrans(TSMatrix A,TSMatrix &B); void printfx(TSMatrix x);sanyuanzu.cpp 文件#include#includesanyuanzu.h/*建立三元組的稀疏矩陣*/ void creat( TSMatrix &M) printf(請(qǐng)輸入稀疏矩陣的行數(shù):); scanf(%d,&M.mu); printf(請(qǐng)輸入稀疏矩陣的列數(shù):); scanf(%d,&M.nu); printf(請(qǐng)輸入矩陣中非零元素的個(gè)數(shù):); scanf(%d,&M.
4、tu); int i; printf(請(qǐng)輸入這%d 個(gè)元素的行號(hào)和列號(hào)及其元素的值:/n,M.tu); for(i = 1; i = M.tu; i+)scanf(%d %d %d,&M.datai.row,&M.datai.col,&M.datai.e);/*實(shí)現(xiàn)三元組的矩陣轉(zhuǎn)置的函數(shù)*/ void fasttrans(TSMatrix A,TSMatrix &B) int col,cpotmax,nummax,t,p,q;/*初始化矩陣B*/ B.mu=A.nu; B.nu=A.mu; B.tu=A.tu; if(B.tu) for(col=1;col=A.nu;+col) numcol=
5、0;/*初始化每一列非零元的個(gè)數(shù)*/ for(t=1;t=A.tu;+t) +numA.datat.col;/*計(jì)算每一列非零元的個(gè)數(shù)*/ cpot1=1; for(col=2;col=A.nu;+col) cpotcol=cpotcol-1+numcol-1;/計(jì)算矩陣A 每一列第一個(gè)非零元在B.data 中的位置/*實(shí)現(xiàn)對(duì)A 中的每一個(gè)非零元進(jìn)行轉(zhuǎn)置*/ for(p=1;p=A.tu;+p) col=A.datap.col; q=cpotcol; B.dataq.row=A.datap.col; B.dataq.col=A.datap.row; B.dataq.e=A.datap.e; +
6、cpotcol; /*稀疏矩陣的輸出*/ void printfx(TSMatrix x) int i,j; for(j=1;j=x.tu;j+) for(i=1;i=x.mu;i+) if(x.dataj.row=i)printf(%d %d %d/n,x.dataj.row,x.dataj.col,x.dataj.e); main.cpp 文件#include#includesanyuanzu.cpp/主函數(shù) int main(void) TSMatrix t,s; creat(t); printf(你所輸入的稀疏矩陣為:/n); printfx(t); fasttrans(t,s); p
7、rintf(轉(zhuǎn)置后的稀疏矩陣為:/n); printfx(s); return 0; 七、調(diào)試報(bào)告八、分析與遇到的問題(1) 創(chuàng)建稀疏矩陣時(shí),不懂如何用三元組表示元素的輸出; (2)需要注意矩陣運(yùn)算中的特殊狀況, 稀疏矩陣相加時(shí),忘記對(duì)應(yīng)元素相加為0時(shí),在稀疏矩陣中不表示; (3) 矩陣相加時(shí),第一個(gè)矩陣的行列數(shù)要和第二個(gè)矩陣的行列數(shù)相等;(4)輸出矩陣時(shí),輸出界面不整齊。9、 用戶使用說明(1) 運(yùn)行程序,首先會(huì)看到一個(gè)提供選擇的界面,輸入相應(yīng)的序號(hào)實(shí)現(xiàn)相應(yīng)的功能;(2) 在進(jìn)行相應(yīng)的功能之后按提示要求一三元組形式輸入相應(yīng)矩陣。(注意:每個(gè)數(shù)據(jù)之間用空格隔開);(3) 輸入相應(yīng)矩陣之后會(huì)輸出最后的運(yùn)算結(jié)果;(4) 輸出結(jié)果運(yùn)算之后會(huì)可按任意鍵返回。10、 心得體會(huì) 這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)的制作使我對(duì)數(shù)據(jù)結(jié)構(gòu)和C語言的理解加深,也使我自己認(rèn)識(shí)到自己很多不足之處。我發(fā)現(xiàn)自己再處理稍微具體的程序時(shí)顯得無從下手以前學(xué)習(xí)的知識(shí)只是理論性的知識(shí),并沒有真正實(shí)踐過,當(dāng)我通過網(wǎng)上查詢、復(fù)習(xí)知識(shí)后才對(duì)編程程序有了初步思路
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 名著導(dǎo)讀在寫作訓(xùn)練中的心得體會(huì)
- 城區(qū)車輛限高管理辦法
- 生產(chǎn)訂單印章管理辦法
- 生產(chǎn)設(shè)備校驗(yàn)管理辦法
- 華能集團(tuán)合同管理辦法
- 縣內(nèi)干部調(diào)動(dòng)管理辦法
- 鳳凰陵園管理暫行辦法
- 漁政收繳漁具管理辦法
- 10.1.2+事件的關(guān)系和運(yùn)算教學(xué)課件高一數(shù)學(xué)必修第二冊(cè)同步高效課堂(人教A版2019)
- 北京大學(xué)2025年強(qiáng)基面試真題詳解
- 全國中小學(xué)教師職業(yè)道德知識(shí)競賽80題及答案
- 有機(jī)化學(xué)(上)(中國藥科大學(xué))知到智慧樹期末考試答案題庫2025年中國藥科大學(xué)
- 2023CSCO食管癌診療指南
- 重癥肌無力課件
- 2024年四川省資中縣事業(yè)單位公開招聘教師崗筆試題帶答案
- 成人女性壓力性尿失禁護(hù)理干預(yù)護(hù)理團(tuán)標(biāo)解讀
- 某律師事務(wù)所內(nèi)部規(guī)章管理制度大全
- GB 29743.2-2025機(jī)動(dòng)車?yán)鋮s液第2部分:電動(dòng)汽車?yán)鋮s液
- 廣州外語學(xué)校小升初數(shù)學(xué)試題
- 2024內(nèi)蒙古煤炭地質(zhì)勘查(集團(tuán))一一七有限公司招聘筆試參考題庫附帶答案詳解
- 信訪工作法治化培訓(xùn)講座
評(píng)論
0/150
提交評(píng)論