教學計畫編制報告

2021-03-04 00:47:33 字數 2534 閱讀 2960

資料結構

課程設計報告

2023年6月27日

一、需求分析

1、根據課程之間的依賴關係制定課程安排計畫,輸入課程數及課程之間的關係。將課程和先修關係構成乙個有向圖,以圖中頂點表示課程,弧表示先修關係。

2、本程式的目的是為了給使用者提供乙個符合要求的課程安排計畫,根據使用者設定的課程資訊制定課程安排計畫。

二、概要設計

1、抽象資料型別圖的定義如下:

(1)圖

adt graph

vr=基本操作p:

locatevex(algraph g,vertextype u)

初始條件: 圖g存在,u和g中頂點有相同特徵

操作結果: 若g中存在頂點u,則返回該頂點在圖中位置;否則返回-1

creategraph(algraph &g)

操作結果:構造圖g

display(algraph g)

初始條件:圖g存在

操作結果:輸出圖的鄰接矩陣

findindegree(algraph g, int indegree)

初始條件:圖g存在

操作結果:求各頂點的度數

int topologicalorder(algraph g,adjlist r,struct name name)

初始條件:圖g存在

操作結果:輸出g頂點的拓撲排序結果

(2)棧

adt stack

資料關係:r1=

基本操作:

initstack(sqstack &s)

操作結果:構造乙個空棧s

stackempty(sqstack s)

初始條件:棧s已存在

操作結果:若棧s為空棧,則返回ture,否則返回false

push(sqstack &s, int x)

初始條件:棧s已存在

操作結果:插入新的元素x作為棧頂元素

pop(sqstack &s, int &x)

初始條件:棧s已經存在而且非空

操作結果:刪除s的棧頂元素,並用x返回其值

}adt stack

2、主程式

void main()

,,,,,,,,,,,};

printf教學計畫編制問題n" );

printf( "請以課件9-2上課程先序圖為例輸入學期總數:");

scanf("%d",&totalofterms);

getchar();

printf("請輸入學期的學分上限(8或9):");

scanf("%d",&maxscores);

getchar();

creategraph(g);

display(g);

topologicalorder(g,r,name);

}三、詳細設計

1.1頂點、邊和圖型別

typedef struct ar**ode

ar**ode;

typedef char vertextype[maxofname];

typedef struct鏈結表

vnode, adjlist[max_ver頭結點

typedef struct

algraph;

int totalofterms學期總數

int maxscores學分上限

1.2圖的基本操作設定為:

int locatevex(algraph g, vertextype u);

//查詢圖中某個頂點位置

int creategraph(algraph &g

//採用鄰接表儲存結構儲存圖g

void display(algraph g

// 輸出圖g的鄰接矩陣

void findindegree(algraph g, int indegree

//求圖g中每個頂點的入度,並儲存在indegree陣列中

int topologicalorder(algraph g,adjlist r,struct name name)

//將課程排序後並決定出每學期所學課程,輸出圖g的資訊

void cmpofstr(vertextype str,struct name name,int n)

//讓c1~c12分別與12門課程對應起來

1.3其中部分操作偽**如下:

int locatevex(algraph g, vertextype u)/* 查詢圖中某個頂點位置 */

int creategraph(algraph &g採用鄰接表儲存結構*/

printf("請輸入%d個課程的學分值:",g.vexnum);

for (i = 0;i < g.vexnum;++i)

printf("請輸入下列課程的先修課程(無先修課程輸入0 結束後也輸入0)\n");

for (h=0;h

return 1;

}void display(algraph g輸出圖g的資訊*/

{ printf("有向圖\n");

printf("%d個頂點", g.vexnum);

教學計畫編制問題

define infeasible 1 typedef int status status是函式的型別,其值是函式結果狀態 如ok等 typedef int boolean boolean是布林型別,其值是true或false define max name 10 頂點字串的最大長度 define ...

教學計畫編制問題

實習報告 一 需求分析 1.在大學的某個專業中選取幾個課程作為頂點,通過各門課的先修關係來構建個圖,該圖用鄰接表來儲存,鄰接表的頭結點儲存每門課的資訊.2.本程式的目的是為使用者編排課程,根據使用者輸入的資訊來編排出每學期要學的課程.3.測試資料 學期總數 6 學分上限 9 該專業共開設12門課,課...

申請編制報告

精選范文 申請編制報告 共2篇 資金申請報告編制要點 一 專案的背景和必要性國內外現狀和技術發展趨勢,對產業發展的作用與影響,產業關聯度分析,市場分析 二 專案承擔單位的基本情況和財務狀況包括所有制性質 主營業務 近三年來的銷售收入 利潤 稅金 固定資產 資產負債率 銀行信用等級 專案負責人基本情況...