軟件設(shè)計(jì)師案例分析當(dāng)天每日一練試題地址:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4
往期軟件設(shè)計(jì)師每日一練試題匯總:m.xiexiliangjiufa.com/class/27/e4_1.html
軟件設(shè)計(jì)師案例分析每日一練試題(2023/12/24)在線測(cè)試:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4&day=2023/12/24
點(diǎn)擊查看:更多軟件設(shè)計(jì)師習(xí)題與指導(dǎo)
軟件設(shè)計(jì)師案例分析每日一練試題內(nèi)容(2023/12/24)
13、閱讀下列函數(shù)說(shuō)明和c代碼,將應(yīng)填入 (n) 處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
函數(shù)int Toplogical(Linded WDipaph G.的功能是對(duì)圖G中的頂點(diǎn)進(jìn)行拓?fù)渑判?,并返回關(guān)鍵路徑的長(zhǎng)度。其中圖G表示一個(gè)具有n個(gè)頂點(diǎn)的AOE-網(wǎng),圖中頂點(diǎn)從1~n依次編號(hào),圖G的存儲(chǔ)結(jié)構(gòu)采用鄰接表表示,其數(shù)據(jù)類(lèi)型定義如下:
typedefstruct Gnode{ /* 鄰接表的表結(jié)點(diǎn)類(lèi)型*/
iht adjvex; /* 鄰接頂點(diǎn)編號(hào)*/
iht weight; /* 弧上的權(quán)值*/
street Gnode *nextarc; /* 指示下一個(gè)弧的結(jié)點(diǎn)*/
}Gnode;
typedef struct Adjlist{ /* 鄰接表的頭結(jié)點(diǎn)類(lèi)型*/
char vdata; /*頂點(diǎn)的數(shù)據(jù)信息*/
struct Gnode *Firstadj; /* 指向鄰接表的第一個(gè)表結(jié)點(diǎn)*/
}Adjlist;
typedef street LinkedWDigraph{ /* 圖的類(lèi)型*/
int n, e; /* 圖中頂點(diǎn)個(gè)數(shù)和邊數(shù)*/
struct Adjlist *head; /*指向圖中第一個(gè)頂點(diǎn)的鄰接表的頭結(jié)點(diǎn) */
} LinkedWDigraph;
例如,某AOE-網(wǎng)如圖5-1所示,其鄰接表存儲(chǔ)結(jié)構(gòu)如圖5-2所示。
【函數(shù)】
iht Toplogical(LinkedWDigraph G.
{ Gnode *p;
intj, w, top = 0;
iht *Stack, *ye, *indegree;
ye = (int *)malloe((G.n+1) * sizeof(int));
indegree = (int *)malloc((G.n+1)*sizeof(int)); /* 存儲(chǔ)網(wǎng)中各頂點(diǎn)的入度*/
Stack = (int *)malloe((G.n+1)*sizeof(int)); /* 存儲(chǔ)入度為0的頂點(diǎn)的編號(hào)*/
if(!ve||!indegree || !Stack) exit(0);
for (j = 1;j <= G.n;j++) {
ve[j] = 0; indegree[j]= 0;
}/*for*/
for(j= 1;j<=G.n;j++) { /* 求網(wǎng)中各頂點(diǎn)的入度*/
p = G.head[j].Firstadj;
while (p) {
(1) ; p = p→nextarc;
}/*while*/
}/*for*/
for (j = 1; j <= G.n; j++) /*求網(wǎng)中入度為0的頂點(diǎn)并保存其編號(hào)*/
if (!indegree[j]) Stack[++top] =j;
while (top > 0) {
w= (2) ;
printf("%e ", G.head[w].vdata);
p = G.head[w].Firstadj;
while (p) {
(3) ;
if ( !indegree [p→adjvex])
Staek[++top] = p→adjvex;
if( (4) )
ve[p→adjvex] = ve[w] + p→weight;
p = p→nextarc;
}/* while */
}/* while */ return (5) ; }/*Toplogieal*/
信管網(wǎng)考友試題答案分享:
信管網(wǎng)cnitpm510624274316:
1.indegree[j]++
2.top
3.p->adjvex++
4.!stack[p->adjvex]
5.stack
信管網(wǎng)訂閱號(hào)
信管網(wǎng)視頻號(hào)
信管網(wǎng)抖音號(hào)
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門(mén)公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛(ài)好者、大學(xué)生提供專(zhuān)業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書(shū)、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專(zhuān)業(yè)軟考教研傾力打造,教材和資料參編作者和資深講師坐鎮(zhèn),通過(guò)深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評(píng)論 查看完整評(píng)論 | |