教學(xué)計(jì)劃編制問題課程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)_第1頁(yè)
教學(xué)計(jì)劃編制問題課程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)_第2頁(yè)
教學(xué)計(jì)劃編制問題課程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)_第3頁(yè)
教學(xué)計(jì)劃編制問題課程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)_第4頁(yè)
教學(xué)計(jì)劃編制問題課程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文)教學(xué)計(jì)劃編制問題學(xué)生姓名: 學(xué)生學(xué)號(hào): 院 (系) 年級(jí)專業(yè): 指導(dǎo)教師: 助理指導(dǎo)教師: 無 二一一年六月專心-專注-專業(yè)攀枝花學(xué)院本科學(xué)生課程設(shè)計(jì)任務(wù)書題目教學(xué)計(jì)劃編制問題1、課程設(shè)計(jì)的目的培養(yǎng)學(xué)生用學(xué)到的書本知識(shí)解決實(shí)際問題的能力;培養(yǎng)實(shí)際工作所需要的動(dòng)手能力;培養(yǎng)學(xué)生以科學(xué)理論和工程上能力的技術(shù),規(guī)范地開發(fā)大型、復(fù)雜、高質(zhì)量的應(yīng)用軟件和系統(tǒng)軟件具有關(guān)鍵性作用;通過課程設(shè)計(jì)的實(shí)踐,學(xué)生可以在程序設(shè)計(jì)方法、上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)格的訓(xùn)練。2、課程設(shè)計(jì)的內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)要求、工作要求等)設(shè)計(jì)要求

2、:針對(duì)計(jì)算機(jī)系本科課程,根據(jù)課程之間的依賴關(guān)系(如離散數(shù)學(xué)應(yīng)在數(shù)據(jù)結(jié)構(gòu)之前開設(shè))制定課程安排計(jì)劃,并滿足各學(xué)期課程數(shù)目大致相同。3、主要參考文獻(xiàn)1數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版),嚴(yán)蔚敏,清華大學(xué)出版社,20032數(shù)據(jù)結(jié)構(gòu)題集,嚴(yán)蔚敏,清華大學(xué)出版社,20053數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版),劉大有,高等教育出版社,20044Data Structure with C+,William FordWilliam Topp,清華大學(xué)出版社,20034、課程設(shè)計(jì)工作進(jìn)度計(jì)劃第1天 完成方案設(shè)計(jì)與程序框圖 第2、3天 編寫程序代碼第4天 程序調(diào)試分析和結(jié)果第5天 課程設(shè)計(jì)報(bào)告和總結(jié)指導(dǎo)教師(簽字)日期年 月 日教研室意見:

3、年 月 日學(xué)生(簽字): 接受任務(wù)時(shí)間: 年 月 日注:任務(wù)書由指導(dǎo)教師填寫。課程設(shè)計(jì)(論文)指導(dǎo)教師成績(jī)?cè)u(píng)定表題目名稱教學(xué)計(jì)劃編制問題評(píng)分項(xiàng)目分值得分評(píng)價(jià)內(nèi)涵工作表現(xiàn)20%01學(xué)習(xí)態(tài)度6遵守各項(xiàng)紀(jì)律,工作刻苦努力,具有良好的科學(xué)工作態(tài)度。02科學(xué)實(shí)踐、調(diào)研7通過實(shí)驗(yàn)、試驗(yàn)、查閱文獻(xiàn)、深入生產(chǎn)實(shí)踐等渠道獲取與課程設(shè)計(jì)有關(guān)的材料。03課題工作量7按期圓滿完成規(guī)定的任務(wù),工作量飽滿。能力水平35%04綜合運(yùn)用知識(shí)的能力10能運(yùn)用所學(xué)知識(shí)和技能去發(fā)現(xiàn)與解決實(shí)際問題,能正確處理實(shí)驗(yàn)數(shù)據(jù),能對(duì)課題進(jìn)行理論分析,得出有價(jià)值的結(jié)論。05應(yīng)用文獻(xiàn)的能力5能獨(dú)立查閱相關(guān)文獻(xiàn)和從事其他調(diào)研;能提出并較好地論述課題

4、的實(shí)施方案;有收集、加工各種信息及獲取新知識(shí)的能力。06設(shè)計(jì)(實(shí)驗(yàn))能力,方案的設(shè)計(jì)能力5能正確設(shè)計(jì)實(shí)驗(yàn)方案,獨(dú)立進(jìn)行裝置安裝、調(diào)試、操作等實(shí)驗(yàn)工作,數(shù)據(jù)正確、可靠;研究思路清晰、完整。07計(jì)算及計(jì)算機(jī)應(yīng)用能力5具有較強(qiáng)的數(shù)據(jù)運(yùn)算與處理能力;能運(yùn)用計(jì)算機(jī)進(jìn)行資料搜集、加工、處理和輔助設(shè)計(jì)等。08對(duì)計(jì)算或?qū)嶒?yàn)結(jié)果的分析能力(綜合分析能力、技術(shù)經(jīng)濟(jì)分析能力)10具有較強(qiáng)的數(shù)據(jù)收集、分析、處理、綜合的能力。成果質(zhì)量45%09插圖(或圖紙)質(zhì)量、篇幅、設(shè)計(jì)(論文)規(guī)范化程度5符合本專業(yè)相關(guān)規(guī)范或規(guī)定要求;規(guī)范化符合本文件第五條要求。10設(shè)計(jì)說明書(論文)質(zhì)量30綜述簡(jiǎn)練完整,有見解;立論正確,論述充分

5、,結(jié)論嚴(yán)謹(jǐn)合理;實(shí)驗(yàn)正確,分析處理科學(xué)。11創(chuàng)新10對(duì)前人工作有改進(jìn)或突破,或有獨(dú)特見解。成績(jī)指導(dǎo)教師評(píng)語(yǔ)指導(dǎo)教師簽名: 年月日目 錄摘 要4一 需求分析 51.1 實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)?zāi)康?51.2設(shè)計(jì)要求51.3理論與實(shí)踐教學(xué)體系的關(guān)系5二 流程圖設(shè)計(jì) 6三 概要設(shè)計(jì) 83.1 抽象數(shù)據(jù)類型圖的定義 83.2主程序93.3程序模塊調(diào)用關(guān)系10四 詳細(xì)設(shè)計(jì)104.1頭結(jié)點(diǎn),表結(jié)點(diǎn),鄰接表的定義 104.2 棧的定義114.3 主程序和其他算法 11五 調(diào)試分析205.1 用戶使用和說明 205.2 測(cè)試數(shù)據(jù)225.3 測(cè)試結(jié)果235.4 實(shí)驗(yàn)過程中出現(xiàn)的問題及解決方法 24六 實(shí)驗(yàn)分工24七 實(shí)驗(yàn)

6、體會(huì)25八 參考文獻(xiàn)26摘 要教學(xué)計(jì)劃是學(xué)校保證教學(xué)質(zhì)量和人才培養(yǎng)的關(guān)鍵,也是組織教學(xué)過程、安排教學(xué)過程、安排教學(xué)任務(wù)、確定教學(xué)編制的基本依據(jù)和課程安排的具體形式。是穩(wěn)定教學(xué)秩序、提高教學(xué)質(zhì)量的重要保證。從教學(xué)計(jì)劃的設(shè)計(jì)、實(shí)施等方面,闡明了如何搞好教學(xué)管理,從而為提高教學(xué)質(zhì)量提供保證。隨著教育改革的不斷深入和社會(huì)發(fā)展的需要,原舊的教學(xué)計(jì)劃在定位上的方向性偏差,已經(jīng)不再適應(yīng)社會(huì)的需求。因此,應(yīng)重視教學(xué)計(jì)劃的改革和修訂工作,以確保教育教學(xué)質(zhì)量,提高教育教學(xué)水平。教學(xué)計(jì)劃編制中的思路:一是明確培養(yǎng)目標(biāo);二是注重學(xué)科設(shè)置的整體性、統(tǒng)一性和靈活性、全面性;三是與學(xué)分制改革有機(jī)結(jié)合. 教學(xué)計(jì)劃是高校實(shí)施常

7、規(guī)教學(xué)活動(dòng)的基本管理文檔,由于傳統(tǒng)的手工編制方式存在諸多弊端,開發(fā)基于Web應(yīng)用程序形式的教學(xué)計(jì)劃編制系統(tǒng)具有很好的應(yīng)用價(jià)值。使用C程序設(shè)計(jì)語(yǔ)言,研究開發(fā)教學(xué)計(jì)劃編制系統(tǒng)Web應(yīng)用系統(tǒng)。關(guān)鍵詞 教學(xué)計(jì)劃 編制 培養(yǎng)目標(biāo) 管理一 需求分析1.1實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)?zāi)康拇髮W(xué)的每個(gè)專業(yè)都要編制教學(xué)計(jì)劃。假設(shè)任何專業(yè)都有固定的學(xué)習(xí)年限,每學(xué)年含兩學(xué)期,每學(xué)期的時(shí)間長(zhǎng)度和學(xué)分上限都相等。每個(gè)專業(yè)開設(shè)的課程都是確定的,而且課程的開設(shè)時(shí)間的安排必須滿足先修關(guān)系。每個(gè)課程的先修關(guān)系都是確定的,可以有任意多門,也可以沒有。每一門課程恰好一個(gè)學(xué)期。試在這樣的情況下設(shè)置一個(gè)教學(xué)計(jì)劃編制程序。在大學(xué)的某個(gè)專業(yè)中選取幾個(gè)課程

8、作為頂點(diǎn),通過各門課的先修關(guān)系來構(gòu)建個(gè)圖,該圖用鄰接表來存儲(chǔ),鄰接表的頭結(jié)點(diǎn)存儲(chǔ)每門課的信息.本程序的目的是為用戶編排課程,根據(jù)用戶輸入的信息來編排出每學(xué)期要學(xué)的課程. 1.2設(shè)計(jì)要求針對(duì)計(jì)算機(jī)系本科課程,根據(jù)課程之間的依賴關(guān)系(如離散數(shù)學(xué)應(yīng)在數(shù)據(jù)結(jié)構(gòu)之前開設(shè))制定課程安排計(jì)劃,并滿足各學(xué)期課程數(shù)目大致相同。1.3理論與實(shí)踐教學(xué)體系的關(guān)系 理論教學(xué)體系和實(shí)踐教學(xué)體系是培養(yǎng)職業(yè)能力的兩個(gè)主導(dǎo)因素是相互聯(lián)系的,要處理好兩者關(guān)系?;A(chǔ)理論教學(xué)要以應(yīng)用為目的,以必需、夠用為度,專業(yè)課教學(xué)要加強(qiáng)針對(duì)性和應(yīng)用性。實(shí)踐教學(xué)要改變過分依附理論教學(xué)的狀況,探索建立相對(duì)獨(dú)立的實(shí)踐教學(xué)體系,形成基本實(shí)踐能力與操作技

9、能,專業(yè)技術(shù)應(yīng)用能力與專業(yè)技能,綜合實(shí)踐能力與綜合技能有機(jī)結(jié)合的實(shí)踐教學(xué)體系。二 概要設(shè)計(jì)2.1抽象數(shù)據(jù)類型圖的定義 ADT Graph數(shù)據(jù)對(duì)象V:V是具有相同特性的數(shù)據(jù)元素的集合,稱為頂點(diǎn)集.數(shù)據(jù)關(guān)系R:           R=VR           VR=(v,w)|v,wV,(v,w)表示v和w之間存在直接先修關(guān)系基本操作P:void CreatGraph(ALGraph *);void

10、 FindInDegree(ALGraph , int * );void TopologicalSort_1(ALGraph G,int numterm,int maxcredit);void TopologicalSort_2(ALGraph G,int numterm,int maxcredit);ADT Graph棧的定義:ADT Stack   數(shù)據(jù)對(duì)象:D=ai|aiElemSet,i=1,2,n,n>=0     數(shù)據(jù)關(guān)系:R1=ai-1 ai|ai-1,aiD,i=2,n基本操作:void InitSta

11、ck (SqStack *S);int StackEmpty(SqStack S);void Push(SqStack *S, int );int Pop(SqStack *S, int *e);ADT Stack2.2主程序 int main()            /主函數(shù)    int numterm;   /學(xué)期總數(shù)    int uplcredit; /一個(gè)學(xué)期的學(xué)分上限  

12、  int selectway;    ALGraph G;    printf("請(qǐng)輸入學(xué)期總數(shù):n");    scanf("%d",&numterm);    printf("請(qǐng)輸入一個(gè)學(xué)期的學(xué)分上限:n");    scanf("%d",&uplcredit);    CreatGraph(&G)

13、;    printf("請(qǐng)選擇編排策略:1.課程盡可能集中到前幾個(gè)學(xué)期;2.課程盡量均勻分布n");  scanf("%d",&selectway);    if(selectway=1)        TopologicalSort_1(G,numterm,uplcredit);    if(selectway=2)    &

14、#160; TopologicalSort_2(G,numterm,uplcredit);    system("pause");    return 0;三 代碼設(shè)計(jì)3.1頭結(jié)點(diǎn),表結(jié)點(diǎn),鄰接表的定義#define MAX_VERTEX_NUM 100 /最大課程總數(shù)typedef struct ArcNode       int adjvex;        struct ArcNo

15、de *nextarc;        ArcNode;typedef struct VNode       char name24;       /課程名         int classid;      /課程號(hào)       

16、; int credit;         /課程的學(xué)分        int indegree;       /該結(jié)點(diǎn)的入度        int state;          /該節(jié)點(diǎn)的狀態(tài)   

17、;     ArcNode *firstarc; /指向第一條依附該頂點(diǎn)的弧的指針        VNode,AdjListMAX_VEXTEX_NUM;typedef struct        AdjList vertices;        int vexnum, arcnum;     &#

18、160;  ALGraph;鄰接表的基本操作:void CreatGraph(ALGraph *);創(chuàng)建鄰接表void FindInDegree(ALGraph , int * );求一個(gè)結(jié)點(diǎn)的入度void TopologicalSort_1(ALGraph G,int numterm,int maxcredit);拓?fù)渑判騺砭幣耪n程void TopologicalSort_2(ALGraph G,int numterm,int maxcredit);拓?fù)渑判騺砭幣耪n程3.2棧的定義#define STACk_INIT_SIZE 100 /存儲(chǔ)空間的初時(shí)分配量#define STAC

19、KINCREMENT 10    /存儲(chǔ)空間的分配增量typedef int ElemType;typedef struct        AdjList vertices;        int vexnum, arcnum;        ALGraph;基本操作:void InitStack (SqStack *S);棧的初始化int StackEmp

20、ty(SqStack S);判斷棧是否為空void Push(SqStack *S, int );入棧操作int Pop(SqStack *S, int *e);出棧操作3.3主程序和其他算法int main()           /主函數(shù) int numterm;   /學(xué)期總數(shù)    int uplcredit; /一個(gè)學(xué)期的學(xué)分上限    int selectway;    AL

21、Graph G;    printf("請(qǐng)輸入學(xué)期總數(shù):n");    scanf("%d",&numterm);    printf("請(qǐng)輸入一個(gè)學(xué)期的學(xué)分上限:n");    scanf("%d",&uplcredit);CreatGraph(&G);printf("請(qǐng)選擇編排策略:1.課程盡可能集中到前幾個(gè)學(xué)期;2.課程盡量均勻分布n");

22、0;   scanf("%d",&selectway);    if(selectway=1)        TopologicalSort_1(G,numterm,uplcredit);    if(selectway=2)      TopologicalSort_2(G,numterm,uplcredit);    system(&q

23、uot;pause");    return 0;void CreatGraph(ALGraph *G)/構(gòu)件圖   int i, m, n;    ArcNode *p;    printf("請(qǐng)輸入需要編排課程總數(shù):n");    scanf("%d",&G->vexnum);    for( i=1;i<=G->vexnum;i+)&#

24、160;           printf("請(qǐng)輸入課程名n");        scanf("%s",&G->);         printf("請(qǐng)輸入課程號(hào)n");        scanf(

25、"%d",&G->verticesi.classid);         printf("請(qǐng)輸入該課程的學(xué)分n");        scanf("%d",&G->verticesi.credit);         G->verticesi.indegree=0;  

26、0;     G->vertices i.state=NOTSTUDY;        G->verticesi.firstarc=NULL;        printf("請(qǐng)輸入課程先修關(guān)系總數(shù):");    scanf("%d",&G->arcnum);     printf("請(qǐng)順序輸入

27、每個(gè)課程先修關(guān)系(先修課程在前并以逗號(hào)作為間隔):n");    for (i = 1; i <= G->arcnum; i+)            printf("n請(qǐng)輸入存在先修關(guān)系的兩個(gè)課程的序號(hào):");        scanf("%d,%d",&n,&m);    &#

28、160;   while (n < 0 | n > G->vexnum | m < 0 | m > G->vexnum)                    printf("輸入的頂點(diǎn)序號(hào)不正確 請(qǐng)重新輸入:");          

29、0; scanf("%d,%d",&n,&m);                p = (ArcNode*)malloc(sizeof(ArcNode);        if (p = NULL)              

30、      printf("memory allocation failed,goodbey");            exit(1);                p->adjvex = m;      &#

31、160; p->nextarc = G->verticesn.firstarc;        G->verticesn.firstarc = p;        printf("n建立的鄰接表為:n");          /輸出建立好的鄰接表    for(i=1;i<=G->vexnum;i+

32、)            printf("%d:->",G->verticesi.classid);        for(p=G->verticesi.firstarc;p!=NULL;p=p->nextarc)        printf("%d->",p->adjvex); &

33、#160;      printf("NULL");        printf("n");    void InitStack(SqStack *S)   S->base=(int *)malloc(STACK_INIT_SIZE *sizeof(int);     if (!S->base)      

34、  printf("ERROR");        exit(1);         S->top=S->base;     S->stacksize=STACK_INIT_SIZE;int StackEmpty(SqStack *S)    if(S->top=S->base)     

35、   return OK;    else        return ERROR;void Push(SqStack *S,int e)       if(S->top - S->base >= S->stacksize)            S->base = (int *) realloc

36、(S->base , (S->stacksize + STACKINCREMENT) * sizeof(int);        if(!S->base)                     printf("ERROR");        

37、;    exit(1);                S->top = S->base + S->stacksize;        S->stacksize += STACKINCREMENT;        *S->top+ = e;int Pop(SqStack *S, int

38、*e)    if(S->top = S->base) exit(1);    *e = * -S->top;    return 0;void FindInDegree(ALGraph G, int indegree)/求圖中各節(jié)點(diǎn)的入度     int i;    for (i = 1; i <= G.vexnum; i+)        indeg

39、reei = 0;    for (i = 1; i <= G.vexnum; i+)            while (G.verticesi.firstarc)                    indegreeG.verticesi.firstarc->adjvex

40、+;            G.verticesi.firstarc = G.verticesi.firstarc->nextarc;            void TopologicalSort_1(ALGraph G,int numterm,int uplcredit)     FILE *fp;    f

41、p=fopen("bianpai.txt","w");    ArcNode *p;        SqStack S;   int indegreeM;/存放各節(jié)點(diǎn)的入度    int i,j, k, m,n;    int count; /課程編排數(shù)目計(jì)數(shù)器    int sumcredit;/每個(gè)學(xué)期的課程學(xué)分累加器    Find

42、InDegree(G, indegree);    for (i = 1; i <= G.vexnum; i+)      G.verticesi.indegree=indegreei;    InitStack(&S);    count=0;    k=0;     while(count!=G.vexnum && k<=numterm) 

43、0;          sumcredit=0;        for(i=1;i<=G.vexnum;i+) /入度為零的節(jié)點(diǎn)入棧,即無先修的課程入棧             if(G.verticesi.indegree=0)&&(G.verticesi.state=NOTSTUDY)  &#

44、160;                            Push(&S,i);              G.verticesi.state = STUDY;/避免入度為零節(jié)點(diǎn)重復(fù)入棧    &

45、#160;                if(!StackEmpty(&S)&&(sumcredit<=uplcredit)                     k= k+1;     

46、0;      printf("n");            printf("第%d個(gè)學(xué)期學(xué)得課程有:n",k);            sumcredit = 0;          for(i=1;i<=G.

47、vexnum;i+)/入度為零的節(jié)點(diǎn)入棧,即無先修的課程入棧                 if(G.verticesi.indegree=0)&&(G.verticesi.state=NOTSTUDY)                    Push(&

48、;S,i);            while(!StackEmpty(&S)&&(sumcredit<uplcredit)/棧非空&&學(xué)分總數(shù)小于學(xué)分上限                             Pop(&

49、amp;S,&j);                sumcredit = sumcredit + G.verticesj.credit;               if(sumcredit <= uplcredit)        

50、                           printf(" %s ",G.);                    fprint

51、f(fp," %s ",G.);                    count+;                   for(p=G.verticesj.firstarc;p;p=p->ne

52、xtarc)/對(duì)j號(hào)頂點(diǎn)每個(gè)鄰接點(diǎn)的入度減一                        G.verticesp->adjvex.indegree-;                    &

53、#160;           else Push(&S,j);/將未輸出的節(jié)點(diǎn)重新壓入棧                            fprintf(fp,"n");       

54、 printf("n");    if(count<G.vexnum)        printf("n課程編排出錯(cuò)n");    else               printf("n課程編排成功n");       

55、fclose(fp);void TopologicalSort_2(ALGraph G,int numterm,int uplcredit)    FILE *fp;    fp=fopen("bianpai.txt","w");    ArcNode *p;        SqStack S;    int indegreeM;   &

56、#160;int i,j, k, m,n;       int maxnum;       int sumnum;    int count; /課程編排數(shù)目計(jì)數(shù)器    int sumcredit;/每個(gè)學(xué)期的課程學(xué)分累加器    FindInDegree(G, indegree);    for (i = 1; i <= G.vexnum; i+) 

57、0;          G.verticesi.indegree = indegreei;    InitStack(&S);    count=0;    k=0;       maxnum = G.vexnum/numterm+1;     sumnum = 0;       while

58、(count!=G.vexnum && k<=numterm)                for(i=1;i<=G.vexnum;i+)                    if(G.verticesi.indegree=0)&&(G.verticesi.state=NOTSTUDY)&#

59、160;                                          Push(&S,i);                 &#

60、160;          G.verticesi.state = STUDY;                               if(!StackEmpty(&S)&&(sumcredit<=uplcredit)&&(sumnum<=

61、maxnum)                                 k= k+1;                     printf("n"); 

62、;                    printf("第%d個(gè)學(xué)期學(xué)得課程有:",k);                     sumcredit = 0;          

63、0;          sumnum = 0;                     for(i=1;i<=G.vexnum;i+)/入度為零的節(jié)點(diǎn)入棧,即無先修的課程入棧                    

64、      if(G.verticesi.indegree=0)&&(G.verticesi.state=NOTSTUDY)                             Push(&S,i);           

65、          while(!StackEmpty(&S)&&(sumcredit<uplcredit)&&(sumnum<maxnum)                    /棧非空&&學(xué)分總數(shù)小于學(xué)分上限&&學(xué)期課程數(shù)目小于學(xué)期最大數(shù)目      

66、;                                         Pop(&S,&j);/出棧              &#

67、160;          sumcredit = sumcredit + G.verticesj.credit;                            sumnum = sumnum+1;           

68、             if(sumcredit <= uplcredit)&&(sumnum <= maxnum)                                    

69、                    printf(" %s ",G.);                                  

70、;                 fprintf(fp," %s ",G.);                                count+;   

71、;                                for(p=G.verticesj.firstarc;p;p=p->nextarc)/對(duì)j號(hào)頂點(diǎn)每個(gè)鄰接點(diǎn)的入度減一                   &#

72、160;                   G.verticesp->adjvex.indegree-;                                    

73、60;           else Push(&S,j);                                     fprintf(fp,"n");     

74、60;  printf("n");    if(count<G.vexnum)        printf("課程編排出錯(cuò)n");    else                printf("課程編排成功n");        fclose(fp);3.4程序模塊調(diào)用關(guān)系 主程序模塊  拓?fù)渑判蚰K四 流程圖設(shè)計(jì)流程圖如下所示:void FindInDegree(ALGraph G, int indegree)/求圖中各節(jié)點(diǎn)的入度(如圖4.1)void CreatGraph(ALGraph *G)/構(gòu)件圖(如圖4.2) 圖4.1 圖4.2void TopologicalSort_1(ALGraph G,int numterm,int uplcredit) /有向圖G采用鄰接表存儲(chǔ)結(jié)構(gòu)(如圖4.3)void TopologicalSort_2(ALGraph G,int n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論