




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告說明:本軟件在win764位系統(tǒng)測(cè)試經(jīng)過,需要安裝.net3.5以上版本七、數(shù)制變換問題問題描繪關(guān)于輸入的隨意一個(gè)非負(fù)十進(jìn)制整數(shù),輸出與其等值的其余進(jìn)制數(shù)(二進(jìn)制、八進(jìn)制或十六進(jìn)制)。任務(wù)要求成立模型,確立儲(chǔ)蓄結(jié)構(gòu);對(duì)隨意十進(jìn)制數(shù),實(shí)現(xiàn)進(jìn)制變換問題。實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)種類:設(shè)計(jì)實(shí)驗(yàn)。本實(shí)驗(yàn)要求同學(xué)們針對(duì)“數(shù)制變換”這個(gè)經(jīng)典的問題,應(yīng)用棧的儲(chǔ)蓄結(jié)構(gòu),自己設(shè)計(jì)一個(gè)方案,并上機(jī)實(shí)現(xiàn)。此實(shí)驗(yàn)的目的是培育學(xué)生對(duì)數(shù)據(jù)結(jié)構(gòu)的簡(jiǎn)單應(yīng)用能力。預(yù)備知識(shí):棧的基本定義、棧的基本操作算法、棧的儲(chǔ)蓄結(jié)構(gòu)。實(shí)現(xiàn)方法提示:1)以十進(jìn)制變換為八進(jìn)制為例。將十進(jìn)制數(shù)整除8,計(jì)算過程中獲得的余數(shù)挨次進(jìn)棧,按出棧序列輸出
2、棧中的內(nèi)容即為與輸入的十進(jìn)制數(shù)對(duì)應(yīng)的八進(jìn)制數(shù)。設(shè)Conversion函數(shù)履行數(shù)制變換的操作,對(duì)(1348)10變換為8進(jìn)制的過程以下:NNdiv8Nmod8134816841682102125202設(shè)計(jì)數(shù)制變換的算法。實(shí)現(xiàn)方案方案描繪:本方案采納C#語(yǔ)言實(shí)現(xiàn),實(shí)現(xiàn)十進(jìn)制與其余進(jìn)制直接的變換實(shí)現(xiàn)代碼:主要實(shí)現(xiàn)代碼以下usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windo
3、ws.Forms;namespace進(jìn)制變換器publicpartialclassMainFrm:FormpublicMainFrm()InitializeComponent();privatevoidMainFrm_Load_1(objectsender,EventArgse)txtStart.Focus();/十進(jìn)制變換為八進(jìn)制/privatevoidradio_dto_Click_1(objectsender,EventArgse)txtEnd.Text=;if(txtStart.Text.Length!=0)TODO:十進(jìn)制轉(zhuǎn)為八進(jìn)制。Int32i;tryi=Convert.ToInt
4、32(txtStart.Text.Trim();lblTitle.Text=十進(jìn)制轉(zhuǎn)為八進(jìn)制;txtEnd.Text=Convert.ToString(i,8);catchMessageBox.Show(請(qǐng)輸入合法的十進(jìn)制數(shù),提示,MessageBoxButtons.OK,MessageBoxIcon.Warning);elseMessageBoxShow(請(qǐng)供給變換數(shù)據(jù)!,提示,MessageBoxButtons.0K,MessageBoxIcon.Warning);txtStart.Focus();十進(jìn)制變換為十六進(jìn)制privatevoidradio_dth_Click(objectsen
5、der,EventArgse)txtEnd.Text=;if(txtStart.Text.Length!=0)TODO:十進(jìn)制變換為十六進(jìn)制。Int32i;tryi=Convert.ToInt32(txtStart.Text.Trim();lblTitle.Text=十進(jìn)制變換為十六進(jìn)制;txtEnd.Text=Convert.ToString(i,16);catchMessageBoxShow(”請(qǐng)輸入合法的十進(jìn)制數(shù),提示MessageBoxButtons.OK,MessageBoxIcon.Warning);elseMessageBoxShow(請(qǐng)供給變換數(shù)據(jù)!,提示,MessageBox
6、Buttons.0K,MessageBoxIcon.Warning);txtStart.Focus();十進(jìn)制變換為二進(jìn)制privatevoidradio_dtb_Click(objectsender,EventArgse)txtEnd.Text=;if(txtStart.Text.Length!=0)TODO:十進(jìn)制變換為二進(jìn)制。Int32i;tryi=Convert.ToInt32(txtStart.Text.Trim();lblTitle.Text=十進(jìn)制變換為二進(jìn)制;txtEnd.Text=Convert.ToString(i,2);catchMessageBoxShow(”請(qǐng)輸入合法
7、的十進(jìn)制數(shù),”提示,MessageBoxButtons.OK,MessageBoxIcon.Warning);elseMessageBoxShow(請(qǐng)供給變換數(shù)據(jù)!,提示,MessageBoxButtons.0K,MessageBoxIcon.Warning);txtStart.Focus();/八進(jìn)制到十進(jìn)制/privatevoidradio_otd_Click(objectsender,EventArgse)txtEnd.Text=;if(txtStart.Text.Length!=0)/TODO:八進(jìn)制到十進(jìn)制。trylblTitle.Text=八進(jìn)制到十進(jìn)制;txtEnd.Text=C
8、onvert.ToString(Convert.ToInt32(txtStart.Text.Trim(),8);/八進(jìn)制轉(zhuǎn)為十進(jìn)制catchMessageBox.Show(請(qǐng)供給合法的八進(jìn)制數(shù),提示,MessageBoxButtons.OK,MessageBoxIcon.Warning);elseMessageBoxShow(請(qǐng)供給變換數(shù)據(jù)!,提示,MessageBoxButtons.0K,MessageBoxIcon.Warning);txtStart.Focus();十六進(jìn)制到十進(jìn)制privatevoidradio_htd_Click(objectsender,EventArgse)txt
9、End.Text=;if(txtStart.Text.Length!=0)tryTODO:十六進(jìn)制到十進(jìn)制。lblTitle.Text=十六進(jìn)制到十進(jìn)制txtEnd.Text=Convert.ToString(Convert.ToInt32(txtStart.Text,16);catchMessageBox.Show(請(qǐng)供給合法的十六進(jìn)制數(shù)!,提示,MessageBoxButtons.OK,MessageBoxIcon.Warning);elseMessageBoxShow(請(qǐng)供給變換數(shù)據(jù)!,提示,MessageBoxButtons.0K,MessageBoxIcon.Warning);txt
10、Start.Focus();二進(jìn)制到十進(jìn)制privatevoidradio_btd_Click(objectsender,EventArgse)txtEnd.Text=;if(txtStart.Text.Length!=0)try/TODO:二進(jìn)制到十進(jìn)制。lblTitle.Text=二進(jìn)制到十進(jìn)制;txtEnd.Text=Convert.ToString(Convert.ToInt32(txtStart.Text,2);catchMessageBoxShow(”請(qǐng)供給合法的二進(jìn)制數(shù)!,提示,MessageBoxButtons.OK,MessageBoxIcon.Warning);elseMe
11、ssageBoxShow(請(qǐng)供給變換數(shù)據(jù)!,提示,MessageBoxButtons.0K,MessageBoxIcon.Warning);txtStart.Focus();privatevoidreset_Click(objectsender,EventArgse)txtStart.Text=;txtEnd.Text=;txtStart.Focus();privatevoidclose_Click(objectsender,EventArgse)this.Close();測(cè)試過程:1.不輸入數(shù)據(jù),軟件會(huì)溫馨提示?輸入數(shù)據(jù)選擇變換模式3?測(cè)試達(dá)成,結(jié)果正確十四、Huffman編碼1?問題描繪設(shè)
12、某編碼系統(tǒng)共有n個(gè)字符,使用頻次分別為1,2,n,設(shè)計(jì)一個(gè)不等長(zhǎng)的編碼方案,輸出每個(gè)字符對(duì)應(yīng)的編碼,使得該編碼系統(tǒng)的空間效率最好。任務(wù)要求掌握Huffman樹的見解、特色和儲(chǔ)蓄結(jié)構(gòu);掌握Huffman樹的結(jié)構(gòu)算法;運(yùn)用Huffman樹解決編碼問題。實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)種類:設(shè)計(jì)實(shí)驗(yàn)。本實(shí)驗(yàn)要求同學(xué)們針對(duì)Huffman樹”這個(gè)經(jīng)典的問題,應(yīng)用二叉樹這類數(shù)據(jù)結(jié)構(gòu),自己設(shè)計(jì)一個(gè)解決方案,并上機(jī)實(shí)現(xiàn)。此實(shí)驗(yàn)?zāi)康氖桥嘤龑W(xué)生對(duì)數(shù)據(jù)結(jié)構(gòu)的簡(jiǎn)單應(yīng)用能力。預(yù)備知識(shí):二叉樹的定義、二叉樹的基本操作算法。實(shí)現(xiàn)方法提示:1)以字符出現(xiàn)的次數(shù)1,為權(quán)值,n個(gè)結(jié)點(diǎn)作為根結(jié)點(diǎn)分別組成n棵二叉樹;2n全部二叉樹中采納兩棵根結(jié)點(diǎn)權(quán)值最
13、小的樹作為左右子樹結(jié)構(gòu)一棵新二叉樹,新二叉樹根結(jié)點(diǎn)的權(quán)值為左右子樹上根結(jié)點(diǎn)的權(quán)值之和,并刪除原來的兩棵二叉樹;重復(fù)上述步驟,直到只剩一棵二叉樹為止。Huffman樹的儲(chǔ)蓄結(jié)構(gòu)以下:structunsignedintweight;unsignedintparent,lchild,rchild;HTNode,*HuffmanTree;實(shí)現(xiàn)方案方案描繪:本方案采納C#語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)的Hufman編碼與解碼實(shí)現(xiàn)代碼:主要實(shí)現(xiàn)代碼以下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Dat
14、a;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Collections.Specialized;namespaceHuffmanCodepublicpartialclassForm1:FormclassNodepubliccharcode;publicuintprioirry;publicNodelchild;publicNoderchild;publicForm1()InitializeComponent();privateDictionarydictcode=newDictionary
15、();privateNodehuffTree;privateintcomparisonNode(Noden1,Noden2)return(int)(n1.prioirry-n2.prioirry);privatestringencode(stringstr)dictcode.Clear();huffTree=null;if(string.IsNullOrEmpty(str)return;DictionarypriorityQueue=newDictionary();for(inti=0;istr.Length;i+)if(priorityQueue.ContainsKey(stri)prior
16、ityQueuestri+;elsepriorityQueue.Add(stri,1);Listlistpc=newList();foreach(variteminpriorityQueue)listpc.Add(newNode()prioirry=item.Value,lchild=);null,rchild=null,code=item.Keylistpc.Sort(comparisonNode);while(listpc.Count1)Noden=newNode();n.prioirry=listpc0.prioirry+listpc1.prioirry;n.lchild=listpc0
17、;n.rchild=listpc1;listpc.RemoveAt(0);listpc.RemoveAt(0);intindex=-1;for(inti=0;ilistpc.Count;i+)if(n.prioirry=listpci.prioirry)index=i;break;if(index=-1)index=listpc.Count;listpc.Insert(index,n);stringencodestr=;viewTree(listpc0,);huffTree=listpc0;for(inti=0;istr.Length;i+)encodestr+=dictcodestri;re
18、turnencodestr;privatevoidviewTree(Noden,stringv)if(n.code!=0)dictcode.Add(n.code,v);elseif(n.lchild!=null)stringvl=v+0;viewTree(n.lchild,vl);if(n.rchild!=null)stringvr=v+1;viewTree(n.rchild,vr);privatestringdecode(stringstr)Noderoot=huffTree;stringresult=;for(inti=0;istr.Length;i+)if(root.code!=0)result+=root.code.ToString();root=huffTree;if(stri=0)root=root.lchild;elseroot=root.rchild;if(root.code!=0)result+=root.code.ToString();returnresult;privatevoidbutton1_Click_1(objectsender,EventArgse)textBox2.Text=encode(textBox1.Text);privatevoidbut
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 共享經(jīng)濟(jì)中的平臺(tái)責(zé)任界定與經(jīng)濟(jì)法治化-全面剖析
- 政府部門法律顧問合同
- 海平面上升對(duì)沿海地區(qū)的影響-全面剖析
- 木材生物質(zhì)能利用研究-第1篇-全面剖析
- 電磁設(shè)備管理員工培訓(xùn)
- 人教部編版六年級(jí)語(yǔ)文上冊(cè) 課課練-16《盼》-人教部編版(含答案)
- 人教部編版二年級(jí)語(yǔ)文下冊(cè) 課課練-5《雷鋒叔叔你在哪里》
- 陜西開放大學(xué)2025年《房地產(chǎn)法》形考作業(yè)1-4答案
- 2025年智能家居裝飾解決方案計(jì)劃
- 小學(xué)五年級(jí)閱讀與寫作結(jié)合計(jì)劃
- 供應(yīng)鏈管理-第十三章供應(yīng)鏈績(jī)效評(píng)價(jià)課件
- 水利工程建設(shè)標(biāo)準(zhǔn)強(qiáng)制性條文
- DB15T 489-2019 石油化學(xué)工業(yè)建設(shè)工程技術(shù)資料管理規(guī)范
- 數(shù)學(xué)課堂教學(xué)技能講座課件
- 異物管控記錄表
- 公車私用管理制度
- 設(shè)備主人制管理辦法
- 市政基礎(chǔ)設(shè)施工程旁站監(jiān)理記錄表
- 幼兒園繪本:《小蛇散步》 課件
- 《藝術(shù)學(xué)概論考研》課件藝術(shù)本體論-形式論
- 遵義會(huì)議ppt課件
評(píng)論
0/150
提交評(píng)論