下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
問(wèn)題描述:若用有向網(wǎng)表示教學(xué)計(jì)劃,其中頂點(diǎn)表示某門課程,有向邊表示課程之間的先修關(guān)系(如果A課程是B課程的先修課程,那么A到B之間有一條有向邊從A指向B)。試設(shè)計(jì)一個(gè)教學(xué)計(jì)劃編制程序,獲取一個(gè)不沖突的線性的課程教學(xué)流程。(課程線性排列,每門課上課時(shí)其先修課程已經(jīng)被安排)。基本要求:(1)輸入?yún)?shù):課程總數(shù),每門課的課程號(hào)(固定占3位的字母數(shù)字串)和直接先修課的課程號(hào)。(2)若根據(jù)輸入條件問(wèn)題無(wú)解,則報(bào)告適當(dāng)?shù)男畔ⅲ环駝t將教學(xué)計(jì)劃輸出到用戶指定的文件中。一、需求分析:本程序需要基于圖的基本操作來(lái)實(shí)現(xiàn)二、概要設(shè)計(jì):抽象數(shù)據(jù)類型:為實(shí)現(xiàn)上述功能需建立一個(gè)結(jié)點(diǎn)類,線性表類,圖類。算法的基本思想:1、圖的構(gòu)建:建立一個(gè)結(jié)點(diǎn)類,類的元素有字符型變量用來(lái)存儲(chǔ)字母,整形變量用來(lái)存儲(chǔ)位置,該類型的指針,指向下一個(gè)元素。建立一個(gè)線性表類,完成線性表的構(gòu)建。建立一個(gè)圖類,完成圖的信息的讀取,(如有n個(gè)點(diǎn),則建立n個(gè)線性表,將每個(gè)結(jié)點(diǎn)與其指向的結(jié)點(diǎn)組成一個(gè)線性表,并記錄線性表的長(zhǎng)度)。2、Topsort算法:先計(jì)算每個(gè)點(diǎn)的入度,保存在數(shù)組中。找到第一個(gè)入度為0的點(diǎn),將該點(diǎn)所連的各點(diǎn)的入度減一。再在這些點(diǎn)中找入度為0的點(diǎn)。如果找到,重復(fù)上述操作。如果找不到,則跳出while循環(huán),再搜索其他的點(diǎn),看入度是否為0。再重復(fù)上述操作,如果所有的入度為0的點(diǎn)都被尋找到,但個(gè)數(shù)少于輸入頂點(diǎn)的個(gè)數(shù),說(shuō)明該圖存在環(huán)。程序的流程程序由三個(gè)模塊組成:輸入模塊:讀入圖的信息(頂點(diǎn)和邊,用線性表進(jìn)行存儲(chǔ))。處理模塊:topsort算法。輸出模塊:將結(jié)果輸出。三、詳細(xì)設(shè)計(jì)算法的具體步驟:classNode{ead->node=ch;line[i].head->position=i;}}voidpushEdge(){
ead->node==ch1)pos1=j;
ead->node==ch2){pos2=line[j].head->position;break;}}line[pos1].insert(pos2,ch2);}}voidtopsort(){
ead;while(p->next!=NULL){d[p->next->position]++;ead->node<<"";m++;Node*p=line[j].head;while(p->next!=NULL){
k=p->next->position;
d[k]--;
ead->node=ch;line[i].head->position=i;}}voidpushEdge(){
ead->node==ch1)pos1=j;
ead->node==ch2){pos2=line[j].head->position;break;}}line[pos1].insert(pos2,ch2);}}voidtopsort(){
ead;while(p->next!=NULL){d[p->next->position]++;ead->node<<"";m++;Node*p=line[j].head;while(p->next!=NULL){
k=p->next->position;
d[k]--;
//當(dāng)起點(diǎn)被刪除,時(shí)后面的點(diǎn)的入度-1if(d[k]==0){d[k]=top;top=k;}p=p->next;}}}cout<<endl;if(m<numVertex)
//輸出點(diǎn)的個(gè)數(shù)小于輸入點(diǎn)的個(gè)數(shù),不能完全遍歷cout<<"網(wǎng)絡(luò)存在回路"<<endl;delete[]d;}};intmain(){intn,m;cout<<"
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GA 1052.6-2013警用帳篷 第6部分:60m2棉帳篷》專題研究報(bào)告
- 養(yǎng)老院入住老人生活照料服務(wù)規(guī)范制度
- 企業(yè)員工培訓(xùn)與能力建設(shè)制度
- 企業(yè)內(nèi)部溝通協(xié)作制度
- 紀(jì)檢監(jiān)督檢查培訓(xùn)課件
- 2026湖北武漢人才服務(wù)發(fā)展有限公司招聘初中教師派往江岸區(qū)公立學(xué)校1人參考題庫(kù)附答案
- 2026湖南醫(yī)發(fā)投養(yǎng)老產(chǎn)業(yè)有限公司子公司高級(jí)管理人員招聘2人備考題庫(kù)附答案
- 2026福建廈門市集美區(qū)樂(lè)海幼兒園頂崗教職工招聘2人備考題庫(kù)附答案
- 2026福建省面向清華大學(xué)選調(diào)生選拔工作參考題庫(kù)附答案
- 2026秋季威海銀行校園招聘參考題庫(kù)附答案
- DB31-T 1502-2024 工貿(mào)行業(yè)有限空間作業(yè)安全管理規(guī)范
- 2022版義務(wù)教育(物理)課程標(biāo)準(zhǔn)(附課標(biāo)解讀)
- 肺結(jié)核患者合并呼吸衰竭的護(hù)理查房課件
- 井噴失控事故案例教育-井筒工程處
- 地源熱泵施工方案
- GB/T 16947-2009螺旋彈簧疲勞試驗(yàn)規(guī)范
- 硒功能與作用-課件
- 《英語(yǔ)教師職業(yè)技能訓(xùn)練簡(jiǎn)明教程》全冊(cè)配套優(yōu)質(zhì)教學(xué)課件
- PKPM結(jié)果分析限值規(guī)范要求和調(diào)整方法(自動(dòng)版)
- 同步工程的內(nèi)涵、導(dǎo)入和效果
- 喪假證明模板
評(píng)論
0/150
提交評(píng)論