午夜无码中文字幕影院,国产自产第一区c国产,久久久久久夜精品精品免费,国产99久久,夜夜夜夜曰天天天天拍国产,欧美日韩亚洲另类专区,国产精品区一区二区免费

專業(yè)軟件設(shè)計(jì)師網(wǎng)站|培訓(xùn)機(jī)構(gòu)|服務(wù)商(加客服微信:cnitpm或QQ:800184589進(jìn)軟件設(shè)計(jì)師學(xué)霸群)

軟題庫(kù) 培訓(xùn)課程
當(dāng)前位置:信管網(wǎng) >> 軟件設(shè)計(jì)師 >> 每日一練 >> 文章內(nèi)容
軟件設(shè)計(jì)師案例分析每日一練試題(2021/8/12)
來(lái)源:信管網(wǎng) 2021年08月13日 【所有評(píng)論 分享到微信

軟件設(shè)計(jì)師案例分析當(dāng)天每日一練試題地址:www.xomuzic.com/exam/ExamDayAL.aspx?t1=4

往期軟件設(shè)計(jì)師每日一練試題匯總:www.xomuzic.com/class/27/e4_1.html

軟件設(shè)計(jì)師案例分析每日一練試題(2021/8/12)在線測(cè)試:www.xomuzic.com/exam/ExamDayAL.aspx?t1=4&day=2021/8/12

點(diǎn)擊查看:更多軟件設(shè)計(jì)師習(xí)題與指導(dǎo)

軟件設(shè)計(jì)師案例分析每日一練試題內(nèi)容(2021/8/12)

閱讀下列說(shuō)明和C代碼,回答問(wèn)題1至問(wèn)題3,將解答寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
對(duì)有向圖進(jìn)行拓?fù)渑判虻姆椒ㄊ牵?br />(1)初始時(shí)拓?fù)湫蛄袨榭眨?br />(2)任意選擇一個(gè)入度為0的頂點(diǎn),將其放入拓?fù)湫蛄兄?,同時(shí)從圖中刪除該頂點(diǎn)以及從該頂點(diǎn)出發(fā)的??;
(3)重復(fù)(2),直到不存在入度為0的頂點(diǎn)為止(若所有頂點(diǎn)都進(jìn)入拓?fù)湫蛄袆t完成拓?fù)渑判?,否則由于有向圖中存在回路無(wú)法完成拓?fù)渑判颍?br />函數(shù)int* TopSort(LinkedDigraph G)的功能是對(duì)有向圖G中的頂點(diǎn)進(jìn)行拓?fù)渑判颍祷赝負(fù)湫蛄兄械捻旤c(diǎn)編號(hào)序列,若不能完成拓?fù)渑判?,則返回空指針。其中,圖G中的頂點(diǎn)從1開(kāi)始依次編號(hào),頂點(diǎn)序列為v1,v2,…,vn,圖G采用鄰接表示,其數(shù)據(jù)類型定義如下:
#define MAXVNUM 50  /*最大頂點(diǎn)數(shù)*/
typedef struct ArcNode{ /*表結(jié)點(diǎn)類型*/
int adjvex;    /*鄰接頂點(diǎn)編號(hào)*/
struct ArcNode *nextarc;   /*指示下一個(gè)鄰接頂點(diǎn)*/
}ArcNode;
typedef struct AdjList{ /*頭結(jié)點(diǎn)類型*/
char vdata;   /*頂點(diǎn)的數(shù)據(jù)信息*/
ArcNode *firstarc;   /*指向鄰接表的第一個(gè)表結(jié)點(diǎn)*/
}AdjList;
typedef struct LinkedDigraph{     /*圖的類型*/
int n;    /*圖中頂點(diǎn)個(gè)數(shù)*/
AdjList Vhead[MAXVNUM];   /*所有頂點(diǎn)的頭結(jié)點(diǎn)數(shù)組*/
}LinkedDigraph;
例如,某有向圖G如圖4-1所示,其鄰接表如圖4-2所示。

函數(shù)TopSort中用到了隊(duì)列結(jié)構(gòu)(Queue的定義省略),實(shí)現(xiàn)隊(duì)列基本操作的函數(shù)原型如下表所示:
                   函 數(shù) 原 型
                                  說(shuō)      明
void InitQueue(Queue*Q)
初始化隊(duì)列(構(gòu)造一個(gè)空隊(duì)列)
bool IsEmpty(Queue Q)
 判斷隊(duì)列是否為空,若是則返回true,否則返回false
void EnQueue(Queue*Q,int e)
元素入隊(duì)列
void DeQueue(Queue*Q,int*p)
元素出隊(duì)列
【C代碼】
int *TopSort(LinkedDigraph G) {
ArcNode *p;  /*臨時(shí)指針,指示表結(jié)點(diǎn)*/
Queue Q; /*臨時(shí)隊(duì)列,保存入度為0的頂點(diǎn)編號(hào)*/
int k = 0;    /*臨時(shí)變量,用作數(shù)組元素的下標(biāo)*/
int j = 0, w = 0;    /*臨時(shí)變量,用作頂點(diǎn)編號(hào)*/
int *topOrder, *inDegree;
topOrder = (int *)malloc((G.n+1) * sizeof(int));   /*存儲(chǔ)拓?fù)湫蛄兄械捻旤c(diǎn)編號(hào)*/
inDegree = (int *)malloc((G.n+1) * sizeof(int));   /*存儲(chǔ)圖G中各頂點(diǎn)的入度*/
if (!inDegree || !topOrder) return NULL;
(1)  ;   /*構(gòu)造一個(gè)空隊(duì)列*/
for ( j = 1; j <= G.n; j++ ) {     /*初始化*/
topOrder[j] = 0;  inDegree[j] = 0;
}
for (j = 1; j <= G.n; j++)    /*求圖G中各頂點(diǎn)的入度*/
for( p = G.Vhead[j].firstarc; p; p = p->nextarc )
inDegree[p-> adjvex] += 1;
for (j = 1; j <= G.n; j++)   /*將圖G中入度為0的頂點(diǎn)保存在隊(duì)列中*/
if ( 0 == inDegree[j] ) EnQueue(&Q,j);
while (!IsEmpty(Q)) {
(2) ; /*隊(duì)頭頂點(diǎn)出隊(duì)列并用w保存該頂點(diǎn)的編號(hào)*/
topOrder[k++] = w; 
/*將頂點(diǎn)w的所有鄰接頂點(diǎn)的入度減1(模擬刪除頂點(diǎn)w及從該頂點(diǎn)出發(fā)的弧的操作)*/
for(p = G.Vhead[w].firstarc; p; p = p->nextarc) {
(3)-= 1;
if (0 ==(4)) EnQueue(&Q, p->adjvex);
}/* for */
}/* while */
free(inDegree);
if (  (5)  )
return NULL;
return topOrder;
} /*TopSort*/ 
【問(wèn)題1】(9分)
根據(jù)以上說(shuō)明和C代碼,填充C代碼中的空(1)~(5)。
【問(wèn)題2】(2分)
對(duì)于圖4-1所示的有向圖G,寫(xiě)出函數(shù)TopSort執(zhí)行后得到的拓?fù)湫蛄?。若將函?shù)TopSort中的隊(duì)列改為棧,寫(xiě)出函數(shù)TopSort執(zhí)行后得到的拓?fù)湫蛄小?br />【問(wèn)題3】(4分)
設(shè)某有向無(wú)環(huán)圖的頂點(diǎn)個(gè)數(shù)為n、弧數(shù)為e,那么用鄰接表存儲(chǔ)該圖時(shí),實(shí)現(xiàn)上述拓?fù)渑判蛩惴ǖ暮瘮?shù)TopSort的時(shí)間復(fù)雜度是(6)。
若有向圖采用鄰接矩陣表示(例如,圖4-1所示有向圖的鄰接矩陣如圖4-3所示),且將函數(shù)TopSort中有關(guān)鄰接表的操作修改為針對(duì)鄰接矩陣的操作,那么對(duì)于有n個(gè)頂點(diǎn)、e條弧的有向無(wú)環(huán)圖,實(shí)現(xiàn)上述拓?fù)渑判蛩惴ǖ臅r(shí)間復(fù)雜度是(7)。

從下列的2道試題(試題五和試題六)中任選1道解答。如果解答的試題數(shù)超過(guò)1道,則題號(hào)小的1道解答有效。
信管網(wǎng)試題答案與解析:www.xomuzic.com/st/3809416600.html

信管網(wǎng)考友試題答案分享:

信管網(wǎng)試題答案與解析:www.xomuzic.com/st/3809416600.html
掃碼關(guān)注公眾號(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é)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書(shū)、技能提升和就業(yè)的需求。

信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過(guò)深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。

相關(guān)內(nèi)容

發(fā)表評(píng)論  查看完整評(píng)論  

推薦文章