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

正文內(nèi)容

006a1060-數(shù)據(jù)結(jié)構(gòu)實驗教學(xué)大綱[小編推薦](編輯修改稿)

2024-11-15 07:19 本頁面
 

【文章內(nèi)容簡介】 實驗內(nèi)容哈夫曼算法 3 實驗要求按要求編寫實驗程序,將實驗程序上機(jī)調(diào)試運行,并提交實驗報告。參考代碼: include include define MAX 21 typedef struct{ char data。int weight。int parent,lchild,rchild。}huffnode。typedef struct { char cd[MAX]。int start。}huffcode。void main(){ huffnode ht[2*MAX]。huffcode hcd[MAX],d。int i, k,f ,l,r, n,c,m1,m2。printf(“元素個數(shù):”)。coutfor(i=1。int結(jié)點值:”。cinht[i].data)。coutht[i].parent=ht[i].lchild=ht[i].rchild=0。for(i=n+1。im1=m2=32767。l=r=0。for(k=1。kif(ht[k].parent==0)if(ht[k].weight{m2=m1。r=1。}m1=ht[k].weight。l=k。}else if(ht[k].weight{m2=ht[k].weight。r=k。}ht[l].parent=i。ht[r].parent=i。ht[i].weight=ht[l].weight+ht[r].weight。ht[i].lchild=l。ht[i].rchild=r。} for(i=1。iif(ht[f].lchild==c)[]=39。039。else []=39。139。c=f。f=ht[f].parent。} hcd[i]=d。} coutfor(k=hcd[i].start。kcout實驗5 圖的基本操作1實驗?zāi)康模?)熟練掌握圖的非線性結(jié)構(gòu)的特點。(4)掌握圖的鄰接矩陣和鄰接表的存儲結(jié)構(gòu)。(5)掌握圖的兩種常用存儲結(jié)構(gòu)下的深度優(yōu)先搜索和廣度優(yōu)先搜索操作和其它操作的實現(xiàn) 2 實驗內(nèi)容(1)設(shè)計一個基于圖的鄰接矩陣的圖的基本操作的演示程序。(2)設(shè)計一個基于圖的鄰接表的圖的基本操作的演示程序。【基本要求】實現(xiàn)下列六種基本運算:(1)創(chuàng)建圖;(2)深度優(yōu)先遍歷圖;(3)廣度優(yōu)先遍歷圖;(4)轉(zhuǎn)換圖的存儲結(jié)構(gòu)分別在圖的鄰接矩陣和鄰接表的存儲結(jié)構(gòu)實現(xiàn) 【測試數(shù)據(jù)】自定 參考程序如下://圖的鄰接矩陣的基本操作define MAX_VERTEX_NUM 20 typedef struct ArcCell { int adj。}AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]。typedef struct {int vexs[MAX_VERTEX_NUM]。AdjMatrix arcs。int vexnum,arum。}MGraph。//鄰接矩陣圖的定義typedef struct ArcNode{ int adjvex。struct ArcNode *next。}ArcNode。typedef struct VNode{ int data。ArcNode *first。}VNode,AdjList[MAX_VERTEX_NUM]。typedef struct{ AdjList vertices。int vexnum,arum。}ALGraph。//圖的鄰接表的定義bool visited[MAX_VERTEX_NUM]。void CreateUDG(MGraph amp。G)。void printMGraph(MGraph G)。void DFSTraverse(MGraph G)。void DFSM(MGraph G,int i)。void BDFTraverse(MGraph G)。void change(ALGraph amp。R,MGraph G)。void printALGraph(ALGraph R)。void main(){MGraph G。ALGraph R。coutCreateUDG(G)。coutBDFTraverse(G)。change(R,G)。printALGraph(R)。} void CreateUDG(MGraph amp。G){int v1,v2。int i,j,k。coutcin 。coutfor(i=0。icin[i]。for(i=0。ifor(j=0。j[i][j].adj=0。for(k=0。kcoutcinv1v2。i=v11。j=v21。[i][j].adj=1。[j][i].adj=[i][j].adj。}}void printMGraph(MGraph G){ int i,j。coutfor(j=0。j{cout”。if((1+j)% ==0)coutif([i][j].adj==1 amp。amp。!visited[j])DFSM(G,j)。} void DFSTraverse(MGraph G){int i。for(i=0。ivisited[i]=0。for(i=0。iif(!visited[i])DFSM(G,i)。} void change(ALGraph amp。R,MGraph G){ int i,j。ArcNode *p。 =。 =。for(i=0。i[i].data=[i]。[i].first =NULL。}for(i=0。ifor(j=0。jif([i][j].adj ==1){ p= new ArcNode。padjvex =j。pnext =[i].first。[i].first =p。} }void printALGraph(ALGraph R){int i。ArcNode *p。for(i=0。i{ coutp=[i].first。while(p!=NULL){cout”adjvex+1。p=pnext。}coutvoid BDFTraverse(MGraph G){int queue[MAX_VERTEX_NUM]。int front=0,rear=0。int j,v。coutfor(v=0。vvisited[v]=0。//初始頂點為 1v=0。visited[v]=1。coutqueue[rear]=v。//入隊rear=(rear+1)%MAX_VERTEX_NUM。while(front!=rear){v=queue[front]。front=(front+1)% MAX_VERTEX_NUM。//出隊//訪問與v鄰接的頂點for(j=0。jif([v][j].adj==1 amp。amp。!visited[j]){queue[rear]=j。//入隊rear=(rear+1)%MAX_VERTEX_NUM。coutvisited[j]=1。}} } //基于鄰接表的圖的基本操作 include define MAX_VERTEX_NUM 10//最大頂點數(shù) define NULL 0 typedef enum{FALSE,TRUE} Boolean。//false表示0,TRUE表示1 typedef struct ArcNode//弧結(jié)點類型 { int adjvex。//以i為頂點(弧尾)的另一個頂點j在表頭數(shù)組中的位置struct ArcNode *nextarc。//指向下一條弧的指針 }ArcNode。typedef struct VNode //表頭結(jié)點頂點類型 {int data。//頂點 i的數(shù)據(jù),按編號,從1開始。ArcNode *firstarc。//該頂點的第一條弧指針 }VNode,AdjList[MAX_VERTEX_NUM]。typedef struct//鄰接表圖 {AdjList vertices。int vexnum,arum。}ALGraph。typedef struct ArcCell { int adj。}AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]。typedef struct {int vexs[MAX_VERTEX_NUM]。AdjMatrix arcs。int vexnum,arum。}MGraph。//鄰接矩陣圖的定義Boolean visited[MAX_VERTEX_NUM]。//訪問數(shù)組void CreateALGraph(ALGraph *G)//創(chuàng)建圖 {ArcNode *s。int i,j,k。cout//對于有向圖指弧的數(shù)目,對無向圖邊數(shù)為弧的2倍cinGvexnumGarum。coutvexnumfor(i=0。ivexnum。i++){cinGvertices[i].data。Gvertices[i].firstarc =NULL。}coutarum for(k=0。karum。k++){coutcinij。s=(ArcNode *)new ArcNode。sadjvex =j1。snextarc =Gvertices [i1].firstarc。Gvertices[i1].firstarc =s。} }void BFS(ALGraph *G,int k)//寬度優(yōu)先搜索 { for(int v=0。vvexnum。v++)visited[v]=FALSE。ArcNode *p。int i,Q[MAX_VERTEX_NUM],front,rear。front=rear=0。coutvertices[k].data。visited[k]=TRUE。Q[rear]=k。rear=(rear+1)%MAX。while(front!=rear){i=Q[front]。front=(front+1)%MAX。p=Gvertices[i].firstarc。while(p){if(!visited[padjvex]){coutvertices [padjvex ].data。visited[padjvex]=TRUE。Q[rear]=padjvex。rear=(rear+1)%MAX。}p=pnextarc。} } } void DFS(ALGraph *G,int v)。void DFSTraverse(ALGraph *G)//深度優(yōu)先搜索 { int i。for(i=0。ivexnum。i++)visited[i]=FALSE。coutfor(i=0。ivexnum。i++)if(!visited[i])DFS(G,i)。} void DFS(ALGraph *G,int v){coutvertices[v].data。visited[v]=TRUE。ArcNode *p。p=Gvertices[v].firstarc。while(p){if(!visited[padjvex])DFS(G,padjvex)。p=pnextarc。} }void change(ALGraph G,MGraph amp。M){=。=。int i,j。ArcNode *p。for(i=0。ifor(j=0。j[i][j].adj =0。for(i=0。i{p=[i].firstarc。while(p){ j=padjvex。[i][j].adj=1。p=pnextarc。} } } void printMGraph(MGraph G){ int i,j。coutfor(j=0。j{cout”。if((1+j)% ==0)coutprintMGraph()。void main(){ ALGraph G。MGraph M。int v。CreateALGraph(amp。G)。for(v=0。vif(!visited[v])BFS(amp。G,v)。coutDFSTraverse(amp。G)。cout3 實驗要求按要求編寫實驗程序,將實驗程序上機(jī)調(diào)試運行,并提交實驗報告。第三篇:數(shù)據(jù)結(jié)構(gòu)教學(xué)大綱《數(shù)據(jù)結(jié)構(gòu)與算法》教學(xué)大綱課程編號:030816 適用專業(yè):教育技術(shù)學(xué) 總學(xué)時數(shù):64學(xué) 分:4 編制單位:茂名學(xué)院理學(xué)院教育與信息技術(shù)系 編制時間:2008年6月20日一、課程地位、性質(zhì)和任務(wù)《數(shù)據(jù)結(jié)構(gòu)與算法》課程是計算機(jī)相關(guān)學(xué)科專業(yè)的基礎(chǔ)課程中的一門重要的核心課程。通過本課程的教學(xué),使學(xué)生知道求解非數(shù)值類問題的基本模型(表、樹、圖),模型的特點和適用場合,能夠根據(jù)問題設(shè)計和選擇好的算法,為學(xué)習(xí)后續(xù)的操作系統(tǒng)、編譯原理和軟件工程等專業(yè)課程,設(shè)計應(yīng)用程序打下基礎(chǔ)。本課程以提高學(xué)生的計算機(jī)應(yīng)用能力和綜合素質(zhì)為目標(biāo),通過課程教學(xué),為學(xué)生構(gòu)建數(shù)據(jù)結(jié)構(gòu)與算法方面的知識體系,使學(xué)生一方面能夠根據(jù)問題選擇合適的數(shù)據(jù)結(jié)構(gòu),設(shè)計高效的算法,提高程序設(shè)計能力,另一方面,在工程應(yīng)用中,具有甄別好算法的能力,也就是要從建模、解模和綜合等三個方面,提高學(xué)生的程序設(shè)計能力。二、與其他課程的關(guān)系先修課:程序設(shè)計基礎(chǔ)、離散數(shù)學(xué)、計算機(jī)組成原理、計算機(jī)文化基礎(chǔ)三、教學(xué)內(nèi)容、課時安排和基本要求(一)
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1