數(shù)據(jù)結(jié)構(gòu)課程方案任務(wù)書軟件_第1頁
數(shù)據(jù)結(jié)構(gòu)課程方案任務(wù)書軟件_第2頁
數(shù)據(jù)結(jié)構(gòu)課程方案任務(wù)書軟件_第3頁
數(shù)據(jù)結(jié)構(gòu)課程方案任務(wù)書軟件_第4頁
數(shù)據(jù)結(jié)構(gòu)課程方案任務(wù)書軟件_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

個人資料整理 僅限學(xué)習(xí)使用2018/2018學(xué)年第2學(xué)期數(shù)據(jù)結(jié)構(gòu)課程設(shè)計任務(wù)書指導(dǎo)教師:耿曉中、毛應(yīng)爽班級:軟件 1242班地點:9209一、課程設(shè)計目的《數(shù)據(jù)結(jié)構(gòu)》是計算機專業(yè)的專業(yè)基礎(chǔ)課,是一門實踐性很強的課程,學(xué)生通過理論學(xué)習(xí),并在完成每章后面的一些小程序后,理解了數(shù)據(jù)結(jié)構(gòu)的基本概念,掌握了一些基本的編程技術(shù),但僅有這一方面的訓(xùn)練還是很不夠的。全面、嚴(yán)格的訓(xùn)練,是學(xué)好該課程的一個不可缺少的組成部分。課程設(shè)計對于提高學(xué)生用學(xué)到的書本知識解決實際問題,培養(yǎng)實際工作所需要的動手能力,對于提高以科學(xué)理論和工程上的技術(shù),規(guī)范地開發(fā)大型、復(fù)雜、高質(zhì)量的應(yīng)用軟件和系統(tǒng)軟件具有關(guān)鍵性作用。通過課程設(shè)計的實踐,學(xué)生可以在程序設(shè)計方法、上機操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)格的訓(xùn)練。二、課程設(shè)計內(nèi)容 <包括技術(shù)指標(biāo))《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計》則要培養(yǎng)、訓(xùn)練學(xué)生選用合適的數(shù)據(jù)結(jié)構(gòu)并運用程序設(shè)計語言<C/C++)編寫質(zhì)量高的應(yīng)用程序。并建立初步評價算法程序的能力。為編譯技術(shù)、操作系統(tǒng)、數(shù)據(jù)庫及算法設(shè)計與分析等后繼課程的學(xué)習(xí)以及為應(yīng)用軟件特別是非數(shù)值應(yīng)用軟件的開發(fā)打下良好的理論基礎(chǔ)和實踐基礎(chǔ)重點和難點:針對具體問題如何選擇或設(shè)計合適的數(shù)據(jù)結(jié)構(gòu);如何根據(jù)一定的存儲策略實現(xiàn)數(shù)據(jù)的存儲表示;基于上述數(shù)據(jù)結(jié)構(gòu)設(shè)計并實現(xiàn)完成具體要求的算法;對算法的時間性能進(jìn)行分析。手段和方法:給出具體示例和設(shè)計方法示例;上機前的預(yù)習(xí)及檢查;分組討論,團(tuán)隊合作;每天上機后總結(jié)。三、課程設(shè)計題目、內(nèi)容及學(xué)時分配具體設(shè)計題目:<每個同學(xué)用自己的學(xué)號除以23取余,對應(yīng)的序號就是的設(shè)計題目序號,其中學(xué)號23對應(yīng)第23題)1、通訊錄的制作設(shè)計目的:用《數(shù)據(jù)結(jié)構(gòu)》中的雙向鏈表作數(shù)據(jù)結(jié)構(gòu),結(jié)合語言基本知識。編寫一個通訊錄管理系統(tǒng)。以把所學(xué)數(shù)據(jù)結(jié)構(gòu)知識應(yīng)用到實際軟件開發(fā)中去。設(shè)計內(nèi)容:本系統(tǒng)應(yīng)完成一下幾方面的功能:個人資料整理 僅限學(xué)習(xí)使用輸入信息—— enter(> 。顯示信息——— display(> 。查找以姓名作為關(guān)鍵字 ———刪除信息——— delete(> 。存盤——— save(> 。裝入——— load(> 。

search(>

。設(shè)計要求:每條信息至包含

:姓名

<NAME)街道<STREET)城市<CITY)郵編

<EIP)國家<STATE)幾項作為一個完整的系統(tǒng),應(yīng)具有友好的界面和較強的容錯能力上機能正常運行,并寫出課程設(shè)計報告2、全國交通咨詢模擬問題描述:處于不同目的的旅客對交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的時間盡可能的短,出門旅游的游客則期望旅費盡可能省,而老年旅客則要求中轉(zhuǎn)次數(shù)最少。編制一個全國城市間的交通咨詢程序,為旅客提供兩種或三種最優(yōu)決策的交通咨詢。設(shè)計要求:提供對城市信息進(jìn)行編輯<如:添加或刪除)的功能。城市之間有兩種交通工具:火車和飛機。提供對列車時刻表和飛機航班進(jìn)行編輯<增設(shè)或刪除)的功能。提供兩種最優(yōu)決策:最快到達(dá)和最省錢到達(dá)。全程只考慮一種交通工具。旅途中耗費的總時間應(yīng)該包括中轉(zhuǎn)站的等候時間。咨詢以用戶和計算機的對話方式進(jìn)行。由擁護(hù)輸入起始站、終點站、最優(yōu)決策原則和交通工具,輸出信息:最快需要多長時間才能到達(dá)或者最少需要多少旅費才能到達(dá),并詳細(xì)說明依次于何時乘坐哪一趟列車或哪一次班機到何地。測試數(shù)據(jù):自行設(shè)計列車時刻表和飛機航班。實現(xiàn)提示:1)對全國城市交通圖和列車時刻表及飛機航班表進(jìn)行編輯,應(yīng)該提供文件形式輸入和鍵盤輸入兩種方式。飛機航班表的信息應(yīng)包括:起始站的出發(fā)時間、終點站的到達(dá)時間和票價;列車時刻表則需根據(jù)交通圖給出各個路段的詳細(xì)信息,2)以鄰接表作交通圖的存儲結(jié)構(gòu),表示邊的結(jié)構(gòu)內(nèi)除含有鄰接點的信息外,還應(yīng)包括交通工具、路程中耗費的時間和花費以及出發(fā)和到達(dá)的時間等多種屬性。選作內(nèi)容:增加旅途中轉(zhuǎn)次數(shù)最少的最優(yōu)決策。3、運動會分?jǐn)?shù)統(tǒng)計任務(wù):參加運動會有 n個學(xué)校,學(xué)校編號為 1 n。比賽分成 m個男子工程,和 w個女子工程。工程編號為男子 1 m,女子 m+1 m+w。不同的工程取前五名或前三名積分;取前五名的積分分別為: 7、5、3、2、1,前三名的積分分別為: 5、3、2;哪些取前五名或前三名由學(xué)生自己設(shè)定。 <m<=20,n<=20)個人資料整理 僅限學(xué)習(xí)使用功能要求:1>.可以輸入各個工程的前三名或前五名的成績;2>.能統(tǒng)計各學(xué)??偡?,3>.可以按學(xué)校編號、學(xué)??偡帧⒛信畧F(tuán)體總分排序輸出;4>.可以按學(xué)校編號查詢學(xué)校某個工程的情況;可以按工程編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校。規(guī)定:輸入數(shù)據(jù)形式和范圍:20以內(nèi)的整數(shù)<如果做得更好可以輸入學(xué)校的名稱,運動工程的名稱)輸出形式:有中文提示,各學(xué)校分?jǐn)?shù)為整形界面要求:有合理的提示,每個功能可以設(shè)立菜單,根據(jù)提示,可以完成相關(guān)的功能要求。存儲結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能要求自己設(shè)計,但是要求運動會的相關(guān)數(shù)據(jù)要存儲在數(shù)據(jù)文件中。<數(shù)據(jù)文件的數(shù)據(jù)讀寫方法等相關(guān)內(nèi)容在 c語言程序設(shè)計的書上,請自學(xué)解決)請在最后的上交資料中指明你用到的存儲結(jié)構(gòu);測試數(shù)據(jù):要求使用1、全部合法數(shù)據(jù);2、整體非法數(shù)據(jù);3、局部非法數(shù)據(jù)。進(jìn)行程序測試,以保證程序的穩(wěn)定。測試數(shù)據(jù)及測試結(jié)果請在上交的資料中寫明;4、一元多項式計算任務(wù):能夠按照指數(shù)降序排列建立并輸出多項式;能夠完成兩個多項式的相加減、相乘,并將結(jié)果輸入;在上交資料中請寫明:存儲結(jié)構(gòu)、多項式相加的基本過程的算法<可以使用程序流程圖)、源程序、測試數(shù)據(jù)和結(jié)果、算法的時間復(fù)雜度、另外可以提出算法的改進(jìn)方法;5、訂票系統(tǒng)任務(wù):通過此系統(tǒng)可以實現(xiàn)如下功能:錄入:可以錄入航班情況 <數(shù)據(jù)可以存儲在一個數(shù)據(jù)文件中,數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定)查詢:可以查詢某個航線的情況<如,輸入航班號,查詢起降時間,起飛抵達(dá)城市,航班票價,票價折扣,確定航班是否滿倉);可以輸入起飛抵達(dá)城市,查詢飛機航班情況;訂票:<訂票情況可以存在一個數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)可以訂票,如果該航班已經(jīng)無票,可以提供相關(guān)可選擇航班;退票: 可退票,退票后修改相關(guān)數(shù)據(jù)文件;客戶資料有姓名,證件號,訂票數(shù)量及航班情況,訂單要有編號。修改航班信息:當(dāng)航班信息改變可以修改航班數(shù)據(jù)文件要求:根據(jù)以上功能說明,設(shè)計航班信息,訂票信息的存儲結(jié)構(gòu),設(shè)計程序完成功能;6、文章編輯個人資料整理 僅限學(xué)習(xí)使用功能要求:輸入一頁文字,程序可以統(tǒng)計出文字、數(shù)字、空格的個數(shù)。<1)靜態(tài)存儲一頁文章,每行最多不超過80個字符,共N行;要求分別統(tǒng)計出其中英文字母數(shù)和空格數(shù)及整篇文章總字?jǐn)?shù);統(tǒng)計某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù);刪除某一子串,并將后面的字符前移。<2)存儲結(jié)構(gòu)使用線性表,分別用幾個子函數(shù)實現(xiàn)相應(yīng)的功能;<3)輸入數(shù)據(jù)的形式和范圍:可以輸入大寫、小寫的英文字母、任何數(shù)字及標(biāo)點符號。<4)輸出形式:分行輸出用戶輸入的各行字符;分4行輸出"全部字母數(shù)"、"數(shù)字個數(shù)"、"空格個數(shù)"、"文章總字?jǐn)?shù)"輸出刪除某一字符串后的文章。7、設(shè)計題目 joseph環(huán)任務(wù):編號是 1,2,,n 的n個人按照順時針方向圍坐一圈,每個人只有一個密碼<正整數(shù))。一開始任選一個正整數(shù)作為報數(shù)上限值 m,從第一個仍開始順時針方向自 1開始順序報數(shù),報到 m時停止報數(shù)。報 m的人出列,將他的密碼作為新的 m值,從他在順時針方向的下一個人開始重新從

1報數(shù),如此下去,直到所有人全部出列為止。設(shè)計一個程序來求出出列順序。要求:利用單向循環(huán)鏈表存儲結(jié)構(gòu)模擬此過程,按照出列的順序輸出各個人的編號。8、ChannelAllocationWhenaradiostationisbroadcastingoveraverylargearea,repeatersareusedtoretransmitthesignalsothateveryreceiverhasastrongsignal.However,thechannelsusedbyeachrepeatermustbecarefullychosensothatnearbyrepeatersdonotinterferewithoneanother.Thisconditionissatisfiedifadjacentrepeatersusedifferentchannels.Sincetheradiofrequencyspectrumisapreciousresource,thenumberofchannelsrequiredbyagivennetworkofrepeatersshouldbeminimised.Youhavetowriteaprogramthatreadsinadescriptionofarepeaternetworkanddeterminestheminimumnumberofchannelsrequired.INPUTTheinputconsistsofanumberofmapsofrepeaternetworks.Eachmapbeginswithalinecontainingthenumberofrepeaters.Thisisbetween1and26,andtherepeatersarereferredtobyconsecutiveupper-caselettersofthealphabetstartingwithA.Forexample,tenrepeaterswouldhavethenamesA,B,C,...,IandJ.Anetworkwithzerorepeatersindicatestheendofinput.Followingthenumberofrepeatersisalistofadjacencyrelationships.Eachlinehastheform:A:BCDHwhichindicatesthattherepeatersB,C,DandHareadjacenttotherepeaterA.ThefirstlinedescribesthoseadjacenttorepeaterA,thesecondthoseadjacenttoB,andsoonforalloftherepeaters.Ifarepeaterisnotadjacenttoanyother,itslinehastheformA:Therepeatersarelistedinalphabeticalorder.Notethattheadjacencyisasymmetric個人資料整理 僅限學(xué)習(xí)使用relationship。ifAisadjacenttoB,thenBisnecessarilyadjacenttoA.Also,sincetherepeaterslieinaplane,thegraphformedbyconnectingadjacentrepeatersdoesnothaveanylinesegmentsthatcross.OUTPUTForeachmap(exceptthefinalonewithnorepeaters>,printalinecontainingtheminumumnumberofchannelsneededsothatnoadjacentchannelsinterfere.Thesampleoutputshowstheformatofthisline.Takecarethatchannelsisinthesingularformwhenonlyonechannelisrequired.SAMPLEINPUT2A:B:4A:BCB:ACDC:ABDD:BC4A:BCDB:ACDC:ABDD:ABC0SAMPLEOUTPUT1channelneeded.3channelsneeded.4channelsneeded.提示:此題中借助圖論中四色猜想問題解決 repeater: 中繼器,網(wǎng)絡(luò)設(shè)備 Channel 信道9、求回文串Givenacharacterstring,determineifitisapalindrome.Apalindromeisawordorphrasethatreadsthesameforwardsandbackwards,likemomornoon.Forourpurposes,palindromesarecaseinsensitive,soBobandAnnaarepalindromes.Also,weareonlyconcernedwithalphabeticcharacters,sopunctuationandothernon-alphabeticcharactersmaybeignored.InputApositiveintegerdenotingthenumberofcases.Eachcasewillconsistofastringofcharacters,includingblanksandnon-alphabeticcharacters.Eachcasewillbeonaseparateline.個人資料整理 僅限學(xué)習(xí)使用OutputThesentence“<string>isapalindrome.”ifthewordisapalindrome,orthesentence“<string>isnotapalindrome.”ifitisnot,where<string>istheinputstring.SampleInput5AllenAldaasdffdsaRacecarGohangasalami,I'malasagnahog!HannaSampleOutputAllenAldaisnotapalindrome.asdffdsaisapalindrome.Racecarisapalindrome.Gohangasalami,I'malasagnahog!isapalindrome.Hannaisnotapalindrome.回文串的判斷,利用棧10、DegreesofseparationFindouthowmanypeopleseparateonepersonfromanother.Thenumberofpeoplewillbenomorethan20.InputApositiveintegerrepresentingthenumberofpeopleinthefollowinglist.Eachlineinthelistcontainsthenameofaperson,followedbythenumberofpeoplethatpersonknows,followedbythenamesofthosepeople.Followingthislistisapositiveintegerdenotingthenumberofcases.Eachcaseconsistsofastartingnameandagoalname.Nameswillnotcontainanyblanksornon-alphabeticcharacters.OutputThephrase “<start>hasnoconnectionto<goal>. ”orthephrase “<start>isseparatedfrom<goal>by<num>degrees. ”,where<start> isthestartingname,<goal>isthegoalname,and<num>isthenumberofdegreesofseparationbetweenthetwo.SampleInput5Bob3TomJohnJimSam2BobJohnJohn2TomBob個人資料整理 僅限學(xué)習(xí)使用Tom1SamJim03JimSamSamJohnJohnSamSampleOutputJimhasnoconnectiontoSam.SamisseparatedfromJohnby0degrees.JohnisseparatedfromSamby1degrees.提示:有向圖求路徑長度11、MarriageNow,alotofpersonsholdingtheirmarriagestogetherareinfashion.Oneday,alotofpeopleholdtheirmarriagestogether.Theyareallhappy,sotheywanttoplayagame.Theystandintwolines,onefacesone.Themenareinoneline,thewomenareinanother.Theystandarbitrarily.Then,therewillbesomeredlinestolinkeachcouple.Socanyoucalculatehowmanypairsoftheredlinesareoverlaped< 交叉).InputThereareseveralcasesintheinput,eachcasebeginwithapostiveintegerN(N<=300000>,whichmeansthereareNcouples,0meanstheendofthefile.Thefollowing2lineseachconsistsofNintegers.Eachintegerrepresentsacouple.Thefirstlinearemen,thesecondarewomen.OutputForeachcaseoutputhowmanypairsoflinesareoverlaped.SampleInput312332131231230SampleOutput30利用數(shù)組實現(xiàn)此題。12、求迷宮的最短路徑:現(xiàn)要求設(shè)計一個算法找一條從迷宮入口到出口的最短路徑。個人資料整理 僅限學(xué)習(xí)使用本算法要求找一條迷宮的最短路徑,算法的基本思想為:從迷宮入口點

<1,1

)出發(fā),向四周搜索,記下所有一步能到達(dá)的坐標(biāo)點;然后依次再從這些點出發(fā),再記下所有一步能到達(dá)的坐標(biāo)點,,依此類推,直到到達(dá)迷宮的出口點

(m,n>為止,然后從出口點沿搜索路徑回溯直至入口。這樣就找到了一條迷宮的最短路徑,否則迷宮無路徑。13、背包問題的求解:假設(shè)有一個能裝入總體積為T的背包和n件體積分別為w,w2,,wn的物1品,能否從n件物品中挑選若干件恰好裝滿背包,即使w+w++w=T,要求找出所有12n滿足上述條件的解。例如:當(dāng) T=10,各件物品的體積 {1,8,4,3,5,2}時,可找到下列組解:<1,4,3,2)<1 ,4,5)<8 ,2)<3 ,5,2)。提示:可利用回溯法的設(shè)計思想來解決背包問題。首先將物品排成一列,然后順序選取物品裝入背包,假設(shè)已選取了前i件物品之后背包還沒有裝滿,則繼續(xù)選取第i+1件物品,若該件物品“太大”不能裝入,則棄之而繼續(xù)選取下一件,直至背包裝滿為止。但如果在剩余的物品中找不到合適的物品以填滿背包,則說明“剛剛”裝入背包的那件物品“不合適”,應(yīng)將它取出“棄之一邊”,繼續(xù)再從“它之后”的物品中選取,如此重復(fù),,直至求得滿足條件的解,或者無解。由于回溯求解的規(guī)則規(guī)則是“后進(jìn)先出”因此自然要用到棧。14、模擬停車廠管理的問題。設(shè)停車廠只有一個可停放幾輛汽車的狹長通道,且只有一個大門可供汽車進(jìn)出。汽車在停車場內(nèi)按車輛到達(dá)的先后順序依次排列,若車場內(nèi)已停滿幾輛汽車,則后來的汽車只能在門外的便道上等候,一旦停車場內(nèi)有車開走,則排在便道上的第一輛車即可進(jìn)入;當(dāng)停車場內(nèi)某輛車要離開時,由于停車場是狹長的通道,在它之后開入的車輛必須先退出車場為它讓路,待該輛車開出大門后,為它讓路的車輛再按原次序進(jìn)入車場。在這里假設(shè)汽車不能從便道上開走。試設(shè)計一個停車場管理程序。15、利用二叉樹結(jié)構(gòu)查找數(shù)據(jù)元素,包括:創(chuàng)建二叉樹二叉鏈表存儲實現(xiàn)數(shù)據(jù)的添加實現(xiàn)數(shù)據(jù)的刪除統(tǒng)計出給定二叉樹中葉子結(jié)點的數(shù)目16、文件壓縮分別寫出對文件進(jìn)行哈夫謾碼的算法,以及對編碼文件進(jìn)行解碼的算法。為簡單起見,可以假設(shè)文件存放在一個字符向量。17、輸入任意一組數(shù)據(jù),分別求出經(jīng)過冒泡法排序,直接插入排序,快速排序的的比較次數(shù)和交換次數(shù)18、推理與結(jié)論個人資料整理 僅限學(xué)習(xí)使用輸入一系列的結(jié)論,你設(shè)計程序找出這些結(jié)論是否有矛盾的。比如 A>=B,C<B,C>=A 輸入后,你應(yīng)該判斷出本題中的結(jié)論矛盾。輸入:4<代表將有 4個結(jié)論)A>=BC<BD==CD>=A輸出:YES(說明有沖突>提示:本題是利用有向圖中是否存在回路的方法,來解題#include"stdio.h"#include"stdlib.h"constintMaxVertexNum=1000 。typedefcharVertexType 。typedefstructnode{intadjvex 。boolflag 。//<=為true,< 為falsestructnode*next 。}EdgeNode。typedefstructvnode{VertexTypevertex 。EdgeNode*firstedge 。}VertexNode。classALGraph個人資料整理 僅限學(xué)習(xí)使用{private:VertexNodeadjlist[MaxVertexNum] 。intn,e 。boolvisited[MaxVertexNum] 。intpaths[MaxVertexNum] 。public:ALGraph(>:n(0>,e(0>{}voidaddVex(VertexTypekey>{inti 。for(i=0 。i<n 。i++>if(adjlist[i].vertex==key>return 。adjlist[n].firstedge=NULL 。adjlist[n].vertex=key 。n++。}booladdEdge(VertexTypekey1,VertexTypekey2,boolf>{inti,j 。for(i=0 。i<n 。i++>個人資料整理 僅限學(xué)習(xí)使用if(adjlist[i].vertex==key1>break 。if(i==n>returnfalse 。for(j=0 。j<n 。j++>if(adjlist[j].vertex==key2>break 。if(j==n>returnfalse 。EdgeNode*p=adjlist[i].firstedge 。while(p>{if(p->adjvex==j>{if(p->flag==f>returnfalse 。elseif(f==true>returnfalse 。else{p->flag=false 。returnfalse 。個人資料整理 僅限學(xué)習(xí)使用}}p=p->next 。}p=(EdgeNode*>malloc(sizeof(EdgeNode>> 。p->adjvex=j 。p->flag=f 。p->next=adjlist[i].firstedge 。adjlist[i].firstedge=p 。e++。returntrue 。}boolhasCricle(>{inti,j,depth 。for(i=0 。i<n 。i++>{for(j=0 。j<n 。j++>visited[j]=false 。paths[0]=i 。//paths[0] 為DFS訪問第一個節(jié)點, path[n] 為以后訪問路徑邊的 flag值<標(biāo)記邊是<=還是<>if(!DFS(i,0>>個人資料整理 僅限學(xué)習(xí)使用returntrue 。}returnfalse 。}boolDFS(inti,intdepth>{visited[i]=true 。EdgeNode*p=adjlist[i].firstedge 。while(p>{if(p->adjvex==paths[0]>{paths[depth+1]=p->flag 。for(intj=1 。j<=depth+1 。j++>if(paths[j]==0>returnfalse 。}elseif(!visited[p->adjvex]>{paths[depth+1]=p->flag 。if(!DFS(p->adjvex,depth+1>>returnfalse 。個人資料整理 僅限學(xué)習(xí)使用}p=p->next 。}returntrue 。}}。voidstart(>{intn=0,i 。charstr[5] 。scanf("%d",&n> 。ALGraphG。for(i=0 。i<n 。i++>{scanf("%s",str> 。G.addVex(str[0]> 。if(str[1]=='='&&str[2]=='='>{G.addVex(str[3]> 。G.addEdge(str[0],str[3],true> 。G.addEdge(str[3],str[0],true> 。}個人資料整理 僅限學(xué)習(xí)使用elseif(str[1]=='<'>{if(str[2]=='='>{G.addVex(str[3]>

。G.addEdge(str[0],str[3],true>}else{

。G.addVex(str[2]>

。G.addEdge(str[0],str[2],false>}}else{if(str[2]=='='>{

。G.addVex(str[3]>

。G.addEdge(str[3],str[0],true>}else{

。個人資料整理 僅限學(xué)習(xí)使用G.addVex(str[2]> 。G.addEdge(str[2],str[0],false> 。}}}if(G.hasCricle(>>printf("NO\n"> 。elseprintf("YES\n"> 。}voidmain(>{start(> 。system("pause"> 。}19、哈夫曼編碼 /譯碼器問題描述:設(shè)計一個利用哈夫曼算法的編碼和譯碼系統(tǒng),重復(fù)地顯示并處理以下工程,直到選擇退出為止。基本要求:1>將權(quán)值數(shù)據(jù)存放在數(shù)據(jù)文件(文件名為data.txt,位于執(zhí)行程序的當(dāng)前目錄中>2>分別采用動態(tài)和靜態(tài)存儲結(jié)構(gòu)3> 初始化:鍵盤輸入字符集大小 n、n個字符和 n個權(quán)值,建立哈夫曼樹;4> 編碼:利用建好的哈夫曼樹生成哈夫曼編碼;5> 輸出編碼;6> 設(shè)字符集及頻度如下表:字符 空格ABCDEFGHIJKLM頻度1866413223210321154757153220個人資料整理 僅限學(xué)習(xí)使用字符NOPQRSTUVWXYZ頻度5763151485180238181161進(jìn)一步完成內(nèi)容:1> 譯碼功能;2> 顯示哈夫曼樹;3> 界面設(shè)計的優(yōu)化20、括號匹配的檢驗[問題描述]假設(shè)表達(dá)式中允許有三種括號:圓括號和方括號和大括號,其嵌套的順序隨意,即<<)[])或{[<[][])]}等為正確格式,{[<])或<<<]均為不正確的格式。檢驗括號是否匹配的方法可用“期待的緊迫程度”這個概念來描述。例如:考慮下列的括號序列:[([][]>]12345678當(dāng)計算機接受了第1個括號以后,他期待著與其匹配的第8個括號的出現(xiàn),然而等來的卻是第2個括號,此時第1個括號“[”只能暫時靠邊,而迫切等待與第2個括號相匹配的第7個括號“)”的出現(xiàn),類似的,因只等來了第3個括號“[”,此時,其期待的緊迫程度較第2個括號更緊迫,則第2個括號只能靠邊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論