




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 / 6word.實(shí)驗(yàn)2稀疏矩陣的建立與轉(zhuǎn)置一、實(shí)驗(yàn)?zāi)康恼莆仗厥饩仃嚨拇鎯?chǔ)和操作算法。二、實(shí)驗(yàn)內(nèi)容及問(wèn)題描述實(shí)現(xiàn)用三元組保存稀疏矩陣并實(shí)現(xiàn)矩陣轉(zhuǎn)置的算法。三、實(shí)驗(yàn)步驟.定義稀疏矩陣的三元組形式的存儲(chǔ)結(jié)構(gòu)。.實(shí)現(xiàn)三元組矩陣的傳統(tǒng)轉(zhuǎn)置算法。.實(shí)現(xiàn)三元組矩陣的快速轉(zhuǎn)置算法。.輸入矩陣非零元素,測(cè)試自己完成的算法。四、程序流程圖五、概要設(shè)計(jì)矩陣是很多的科學(xué)與工程計(jì)算中研究的數(shù)學(xué)對(duì)象。在此,我們感興趣的是,從數(shù)學(xué)結(jié)構(gòu)這門(mén)學(xué)科著眼,如何存儲(chǔ)矩陣的元從而使矩陣的各種運(yùn)算有效的進(jìn)行。本來(lái),用二維數(shù)組存儲(chǔ)矩陣,在邏輯上意義是很明確的,也很容易理解,操作也很容易和方便。但是在數(shù)值分析中經(jīng)常出現(xiàn)一些階數(shù)很高的矩陣,
2、同時(shí),在矩陣中又有很多值相同或者都為零的元素,可以對(duì)這種矩陣進(jìn)行壓縮存儲(chǔ):對(duì)多個(gè)值相同的元素只分配一個(gè)存儲(chǔ)空間;對(duì)零元素不分配空間。稀疏矩陣的定義是一個(gè)模糊的定義:即非零元個(gè)數(shù)較零元個(gè)數(shù)較少的矩陣。例如下圖所示的矩陣0 12 9 0 0 0 00 0 0 0 0 0 0 TOC o 1-5 h z 300001400024000001&000001500-7000為一個(gè)稀疏矩陣。為了實(shí)現(xiàn)稀疏矩陣的這種存儲(chǔ)結(jié)構(gòu),引入三元組這種數(shù)據(jù)結(jié)構(gòu)。三元組的線性表順存儲(chǔ)形式如下圖:MUNUTUIVrjV,hljV7A; B; 的5丫口TUPLE3Tp六、詳細(xì)設(shè)計(jì)sanyuanzu.h 頭文件#define m
3、ax 100typedef structint row,col;int e;Triple;/定義三元組typedef structTriple datamax;int mu,nu,tu;TSMatrix;/*定義三元組的稀疏矩陣*/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)輸
4、入稀疏矩陣的行數(shù):scanf(%d,&M.mu);printf(請(qǐng)輸入稀疏矩陣的列數(shù):scanf(%d,&M.nu);printf( 請(qǐng)輸入矩陣中非零元素的個(gè)數(shù): );scanf(%d,&M.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,num
5、max,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=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;/ 的位置/* 實(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
6、.datap.col;B.dataq.col=A.datap.row;B.dataq.e=A.datap.e;*/計(jì)算矩陣 A 每一列第一個(gè)非零元在B.data 中+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(voi
7、d)TSMatrix t,s;creat(t);printf( 你所輸入的稀疏矩陣為 :/n);printfx(t);fasttrans(t,s);printf( 轉(zhuǎn)置后的稀疏矩陣為 :/n);printfx(s);return 0;七、調(diào)試報(bào)告叫 Bl nElutlr5tdiaa產(chǎn),ill.dR”* Illa . CiMJsmpnltmiBfiTiMnniwvuiruiupbugMriyuaruti cxp Ffki i,中,rniaftl AltPCt F1iF壞,!.福中甥陣1liM r 我住 -T - - -保1八、分析與遇到的問(wèn)題(1)創(chuàng)建稀疏矩陣時(shí),不懂如何用三元組表示元素的輸出;
8、(2)需要注意矩陣運(yùn)算中的特殊狀況,稀疏矩陣相加時(shí),忘記對(duì)應(yīng)元素相加為0時(shí),在稀疏矩陣中不表示;(3)矩陣相加時(shí),第一個(gè)矩陣的行列數(shù)要和第二個(gè)矩陣的行列數(shù)相等; (4)輸出矩陣時(shí),輸出界面不整齊。九、用戶(hù)使用說(shuō)明(1)運(yùn)行程序,首先會(huì)看到一個(gè)提供選擇的界面,輸入相應(yīng)的序號(hào)實(shí)現(xiàn)相應(yīng)的功能;(2)在進(jìn)行相應(yīng)的功能之后按提示要求一三元組形式輸入相應(yīng)矩陣。(注意:每個(gè)數(shù)據(jù)之間用空格隔開(kāi));(3)輸入相應(yīng)矩陣之后會(huì)輸出最后的運(yùn)算結(jié)果;(4)輸出結(jié)果運(yùn)算之后會(huì)可按任意鍵返回。十、心得體會(huì)這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)的制作使我對(duì)數(shù)據(jù)結(jié)構(gòu)和C語(yǔ)言的理解加深,也使我自己認(rèn)識(shí)到自己很多不足之處。 我發(fā)現(xiàn)自己再處理稍微具體的程序時(shí)顯得無(wú)從下手以前學(xué)習(xí)的知識(shí) 只是理論性的知識(shí),并沒(méi)有真正實(shí)踐過(guò),當(dāng)我通過(guò)網(wǎng)上查詢(xún)、復(fù)習(xí)知識(shí)后才對(duì)編程程序有了 初步思路。后來(lái)編寫(xiě)程序時(shí)也碰
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024陜西陜煤澄合礦業(yè)有限公司招聘(615人)筆試參考題庫(kù)附帶答案詳解
- 2025年上半年安徽滁州鳳陽(yáng)縣部分事業(yè)單位第二次選調(diào)工作人員6人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽宿州市城市規(guī)劃展覽館招聘工作人員7人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽安慶師范學(xué)院新校區(qū)建設(shè)辦公室招考工作人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽合肥經(jīng)濟(jì)技術(shù)開(kāi)發(fā)區(qū)招聘海關(guān)監(jiān)管員30人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽合肥市肥西縣城鄉(xiāng)建設(shè)投資(集團(tuán))限公司子公司工作人員招聘101崗位易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽六安市葉集區(qū)人民醫(yī)院(六安市第六人民醫(yī)院)用人需求42人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年寧波市國(guó)土資源中心招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年氣浮電主軸合作協(xié)議書(shū)
- 2025年手持式發(fā)動(dòng)機(jī)分析儀項(xiàng)目可行性研究報(bào)告
- 寫(xiě)作《學(xué)寫(xiě)讀后感》課件(共43張)
- 2022年同等學(xué)力日語(yǔ)考試真題和答案
- 2022年河北醫(yī)科大學(xué)第一醫(yī)院醫(yī)護(hù)人員招聘考試筆試題庫(kù)及答案解析
- 思想道德與法治教案第四章:明確價(jià)值要求踐行價(jià)值準(zhǔn)則
- 寧騷版《公共政策學(xué)》課后答案
- 氧氣安全標(biāo)簽
- 不經(jīng)歷風(fēng)雨怎么見(jiàn)彩虹》教學(xué)設(shè)計(jì)
- (綜合治理)修復(fù)工程指南(試行) - 貴州省重金屬污染防治與土壤修復(fù)網(wǎng)
- 員工就餐簽到表
- A-level項(xiàng)目介紹(課堂PPT)
- 航海計(jì)算軟件---ETA計(jì)算器
評(píng)論
0/150
提交評(píng)論