版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)結(jié)構(gòu)實驗報告年6月日時時分4)priority_queue等的應(yīng)用。)簡短明確地寫出實驗的內(nèi)容)設(shè)想:。:用鄰接表模擬歐洲鐵路系統(tǒng),該鄰接表使用數(shù)據(jù)結(jié)構(gòu)實現(xiàn),的和:。2~RailSystem(void)析構(gòu)函數(shù),用delete將兩個map中所有使用操作符開辟的空間刪除)簡短明確地寫出你實驗所采用的存儲結(jié)構(gòu)及其用途,詳細(xì)說明其中的屬性的含義。1)map<string,list<Service*>>outgoing_services用來保存由一個城市出發(fā)可以直接到達(dá)的城市名及這兩個城市之間的路徑信息。2)list<Service*>以3)map<string,City*>cities4))描述你在進(jìn)行實現(xiàn)時,主要的函數(shù)或操作內(nèi)部的主要算法,分析這個算法的時、空復(fù)雜度,并說明你設(shè)計的巧妙之處。時間復(fù)雜度是O(n2),空間復(fù)雜度為O(n)calc_route(stringfrom,string函數(shù)通過迭代器遍歷它的鄰接鏈表,得到鄰接城市名,當(dāng)這個城市未被被訪問過且從彈出的城市到該城市的費(fèi)用大于這兩個鄰接城市間費(fèi)用和出發(fā)城市目前的最少費(fèi)用之和,更新從出發(fā)城市到該城市的費(fèi)用,并且記錄這個城市的經(jīng)由城市為彈出的城市名并將這個城市入棧,同時更新目前的路徑長度。代碼如下:3priority_queue<City*,vector<City*>,Cheapest>candidates;City*city=cities[from];city->total_fee=0;candidates.push(city);list<Service*>service_list=outgoing_services[city->name];if(cities[service->destination]->total_fee>(city->total_fee+service->fee))cities[service->destination]->total_fee=city->total_fee+service->fee;cities[service->destination]->total_distance=city->total_distance+service->distance;}}}if(cities[to]->visited){returnpair<int,int>(cities[to]->total_fee,cities[to]->total_distance);}else{returnpair<int,int>(INT_MAX,INT_MAX);}2)load_services(string)函數(shù)讀入from和to城市后,首先判斷這兩個城市在cities這個map中是否存在,若不存在則添加到map中。判斷過程需要遍歷整個,這里利用了map的find()函數(shù),減少了空間和時間的使用。代碼如下:ifstreaminf(filename.c_str());stringfrom,to;intfee,distance;while(inf.good()){inf>>from>>to>>fee>>distance;if(inf.good()){map<string,list<Service*>>::iteratormp=outgoing_services.find(from);if(mp==outgoing_services.end()){list<Service*>ms;ms.push_front(newService(to,fee,distance));outgoing_services.insert(pair<string,list<Service*>>(from,ms));4cities.insert(pair<string,City*>(from,newCity(from)));(mp->second).push_front(newService(to,fee,distance));}}inf.close();3)recover_route(conststring&函數(shù)利用棧的先進(jìn)先出特性,將求得的路徑所經(jīng)由的城市名入棧再彈棧,則得到正序的路徑。主要代碼如下:stringback=city;stringall=city;while((back=cities.find(back)->second->from_city)!="")all=back+"to"+all;}returnall;)你在調(diào)試過程中發(fā)現(xiàn)了怎樣的問題?又做了怎樣的改進(jìn)?priority_queue堆在內(nèi)部對象數(shù)據(jù)更改后無法進(jìn)行重排。發(fā)現(xiàn)在vs2012會返回錯誤,但是點擊忽略后還是可以直接運(yùn)行得到結(jié)果。如圖:點擊忽略后出現(xiàn)結(jié)果,如圖:5)而對存在的城市則返回如圖:對同一個城市則返回)6)priority_queue<City*,vector<City*>,Cheapest>candidates;City*city=cities[from];city->total_fee=0;candidates.push(city);if(cities[service->destination]->total_fee>(city->total_fee+service->fee)){cities[service->destination]->total_fee=city->total_fee+service->fee;cities[service->destination]->from_city=city->name;=city->total_distance+service->distance;candidates.push(cities[service->destination]);}}}if(cities[to]->visited){returnpair<int,int>(cities[to]->total_fee,cities[to]->total_distance);}returnpair<int,int>(INT_MAX,INT_MAX);}outgoing_
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版學(xué)校球場施工合同模板(含場地通風(fēng)與散熱)2篇
- 二零二五年度婚禮現(xiàn)場舞臺搭建與燈光音響租賃合同6篇
- 個性化家庭收養(yǎng)協(xié)議2024版版
- 二零二五年度履約保證金協(xié)議書范本:文化旅游項目2篇
- 醫(yī)療器械2025年度原材料供應(yīng)與加工合作協(xié)議3篇
- 2025年度智慧農(nóng)業(yè)灌溉增壓泵供應(yīng)與安裝服務(wù)合同3篇
- 二零二五年度城市更新項目存量房買賣合作框架協(xié)議2篇
- 二零二五版煤礦股權(quán)轉(zhuǎn)讓及礦山安全生產(chǎn)責(zé)任書4篇
- 2025版園藝用樹苗買賣合同規(guī)范范本3篇
- 二零二五年度市場分析預(yù)測專家顧問聘請書3篇
- 2024年供應(yīng)鏈安全培訓(xùn):深入剖析與應(yīng)用
- 飛鼠養(yǎng)殖技術(shù)指導(dǎo)
- 壞死性筋膜炎
- 整式的加減單元測試題6套
- 股權(quán)架構(gòu)完整
- 山東省泰安市2022年初中學(xué)業(yè)水平考試生物試題
- 注塑部質(zhì)量控制標(biāo)準(zhǔn)全套
- 人教A版高中數(shù)學(xué)選擇性必修第一冊第二章直線和圓的方程-經(jīng)典例題及配套練習(xí)題含答案解析
- 銀行網(wǎng)點服務(wù)禮儀標(biāo)準(zhǔn)培訓(xùn)課件
- 二年級下冊數(shù)學(xué)教案 -《數(shù)一數(shù)(二)》 北師大版
- 晶體三極管資料
評論
0/150
提交評論