freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---關(guān)鍵路徑(留存版)

  

【正文】 點(diǎn)所表示事件的最遲發(fā)生時(shí)間vl { p = gadjlist[i].firstarc。 i ++) coutgadjlist[i].\t gadjlist[i].\t gadjlist[i].endl。 //棧st的指針為top ArcNode *p。 return (sum == gn)。 while (p != NULL) { if (pd == 0) { t[j].start = pstart。 } } k++。s39。 KeyActs(G)。) { cout\n 謝謝使用!歡迎再次使用! endl。 } else if (choose1 == 39。 || ch == 39。 cinchoose1。 sign = k。 //記錄關(guān)鍵路徑的條數(shù) cout\n關(guān)鍵路徑有:endl。 if (gadjlist[j]. == 0) //入度為0的相鄰頂點(diǎn)入棧 { top ++。 i gn。 //某活動(dòng)可以推遲的時(shí)間是其最遲開始時(shí)間與最早開始時(shí)間之差 p = pnextarc。 } p = pnextarc。 pend = j+65。 } } while (!sign)。 //指向下一條弧的指針 }ArcNode。我從這次課程設(shè)計(jì)中所得的另外一個(gè)很大的收獲是:不能因?yàn)閱栴}難就逃避它,只有勇于嘗試才可能解決根本問題。y39。 EventInfo(G)。 cout| |endl。 //一條關(guān)鍵路徑計(jì)算完的標(biāo)志 int k = 0。 } p = pnextarc。 //出棧 // coutchar(i+65) 。 i gn。 } else //否則就取當(dāng)前計(jì)算出來的值 { gadjlist[i]. = gadjlist[k]. ptime。 }}計(jì)算出各事件及活動(dòng)的的相關(guān)信息:void EventInfo(ALGraph *g) //計(jì)算各事件及活動(dòng)的相關(guān)信息{ ArcNode *p = new ArcNode。 gadjlist[i]. = gadjlist[i]. = 0。//圖中頂點(diǎn)數(shù)和邊數(shù) VNode adjlist[MAXV]。 //頂點(diǎn)入度 int ve。工程通常分為若干個(gè)稱為“活動(dòng)”的子工程。他可以使人們了解: (1). 研究某個(gè)工程至少需要多少時(shí)間? (2). 哪些活動(dòng)是影響工程進(jìn)度的關(guān)鍵? 由于AOE網(wǎng)中的有些活動(dòng)可以并行進(jìn)行,從開始點(diǎn)到各個(gè)頂點(diǎn),以致從開始點(diǎn)到完成點(diǎn)的有向路徑可能不止一條,這些路徑的長(zhǎng)度也可能不同。 //該弧的終點(diǎn),表示此弧所代表的活動(dòng)的結(jié)束事件 int vp。 do { sign = 1。 k++) { cout第k項(xiàng):。 i ++) //計(jì)算各頂點(diǎn)所表示事件的最早發(fā)生時(shí)間ve { p = gadjlist[i].firstarc。 while (p != NULL) { k = pvp。 p = pnextarc。 if (gadjlist[j]. == 0) //入度為0的相鄰頂點(diǎn)入棧 { top ++。 //記錄關(guān)鍵路徑的條數(shù) cout\n關(guān)鍵路徑有:endl。 sign = k。 cinchoose1。 || ch == 39。 } else if (choose1 == 39。 //頂點(diǎn)入度 int ve。//圖中頂點(diǎn)數(shù)和邊數(shù) VNode adjlist[MAXV]。 i++) //初始化頂點(diǎn)信息 { gadjlist[i]. = i+65。 pnextarc = gadjlist[i].firstarc。 while (p != NULL) { k = pvp。 coutendl。 for (i = 0。}void KeyActs(ALGraph *g) //計(jì)算并輸出關(guān)鍵活動(dòng){ ArcNode *p。 t[j].end = pend。 if (t[k].start == t[sign].start) //如果有分叉即兩活動(dòng)的開始事件相同、結(jié)束事件不同時(shí)就將兩項(xiàng)活動(dòng) { //的結(jié)束事件交換,以便計(jì)算下一條路徑時(shí)不發(fā)生重復(fù) num = t[k1].end。) { ALGraph *G = new ALGraph。 KeyPath(G)。 exit(1)。 } coutendlendl。Y39。 cout\n請(qǐng)選擇:。 while (flag != 1) { if (k == 0 || t[k].start == t[sign].end) //如果活動(dòng)源點(diǎn)或是上一活動(dòng)的結(jié)束事件此次活動(dòng)的開始事件則輸出 { coutt[k].start — 。 //j指示t數(shù)組下標(biāo) int count = 0。 gadjlist[j]. 。 for (i = 0。 //某活動(dòng)的最遲開始時(shí)間l是該活動(dòng)的終點(diǎn)所表示的事件的最遲開始時(shí)間與該活動(dòng)的所需時(shí)間之差:l = vltime pd = pl pe。 } else //否則就取當(dāng)前計(jì)算出來的值 { gadjlist[k]. = gadjlist[i]. + ptime。 pstart = i+65。 sign = 0。 //該弧所代表的活動(dòng)可以拖延的時(shí)間, 當(dāng)d = 0時(shí)表示此活動(dòng)為關(guān)鍵活動(dòng) struct arode *nextarc。這個(gè)算法的實(shí)現(xiàn)其實(shí)來的很突然,我在草稿紙上不停地畫圖分析以及上機(jī)實(shí)驗(yàn),就在不知不覺中這個(gè)算法就實(shí)現(xiàn)了,這我從中明白:任何事不能只想不做,要善于分析和勤于動(dòng)手,才有可能達(dá)到我們期望的效果。 || choose2 == 39。 } } while (!flag1)。 do { cout|歡迎使用!|endl。 //sign用來標(biāo)記關(guān)鍵路徑在哪個(gè)位置有分叉 int flag。 while (p != NULL) { if (pd == 0) //如果p指向的活動(dòng)是關(guān)鍵活動(dòng),就將此活動(dòng)輸出 { cout (pstart—pend) 。 top。 for (i = 0。 if (gadjlist[i]. != 0) //如果該事件的vl已經(jīng)有值,則取該事件到匯點(diǎn)的最長(zhǎng)路徑之差 { gadjlist[i]. = Min(gadjlist[i]., gadjlist[k]. ptime)。 gadjlist[i].fi
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1