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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)算法設(shè)計與實現(xiàn)指導(下)ppt(存儲版)

2025-02-19 06:35上一頁面

下一頁面
  

【正文】 如 v 1 , v 2 , v 3 , v 4 , v 5 如 5 , 6 如v 1 , v 2 , v 3, v 4 , v 5 V 1,v 2,v3,v 4,v 5 如 v1 , v2 , 5 如v 1 , v 2 , v 3 , v 4 , v5 V 1,v 2,v 3,v 4,v5 將第 1 行第 2 列的 * 修改成 5 將第 2 行第 1 列的 * 修改成 5 * * * * * * * * * * * * * * * * * * * * * * * * * 創(chuàng)建無向圖 ? Status CreateUDN(MGraph *G) ? { ? int i,j,k,w。i(*G).vexnum。 } ? printf(Input details(eg. V1 V2 5): \n)。 ? }(*G).kind=UDN。 for(i=0。j++) if([i][j].adj==INFINITY) printf( *)。 } 進入 TC 鄰接表存儲結(jié)構(gòu) define MAX_VERTEX_NUM 20 define OK 1 define ERROR 0 define OVERFLOW 2 typedef int InfoType。 typedef struct QNode { QElemType data。 typedef struct ArcNode{ int adjvex。 typedef struct {//圖的結(jié)構(gòu)。如果實現(xiàn)有向圖的創(chuàng)建,在此就應(yīng)該只生成一個弧結(jié)點。(*G).arum)。k(*G).arum。 ? pnextarc=(*G).vertices[i].firstarc。 ? } 查找指定頂點的鄰接點 int FirstAdjVex(ALGraph G,VertexType v) { ArcNode *p。 ? int v1,w1。 ? else ? return pnextarcadjvex。 ? while(p) ? { ? q=pnextarc。i。 注:這里用到了隊列 ,因為它的先進先出的特點 ,能夠方便地輸出圖中的頂點 ,實現(xiàn)“ 先被訪問的頂點的鄰接點 ” 先于 “ 后被訪問的頂點的鄰接點 ” 被訪問 。++v) ? visited[v]=FALSE。Q,v)。 ? Visit([w].data)。 printf(Breadth_First Search:\n)。 存儲結(jié)構(gòu) 源程序 主函數(shù) 直接插入排序 — 存儲結(jié)構(gòu) define MAXSIZE 20 typedef int KeyType。 SqList temp。j) (*L).r[j+1]=(*L).r[j]。 for(。 } 主函數(shù) 算法思想 : 本函數(shù)依然使用輸入待排序的關(guān)鍵字個數(shù)來控制輸入的關(guān)鍵字,輸入關(guān)鍵字時用空格分隔。)。 printf(Datalist after sort:)。 int length。amp。 printf(\nNo.%d sort: ,++count)。 if(lowhigh) { pivotloc=Partition(L,low,high)。i=。 clrscr()。[i].key)。 } 直接插入排序執(zhí)行結(jié)果 快速排序執(zhí)行結(jié)果 綜合訓練 ?迷宮 ?稀疏矩陣相乘 ?最優(yōu)二叉樹 ?最小生成樹 ?關(guān)鍵路徑 ?最短路徑 退出 迷宮 在計算機中用下圖所示的方塊表示迷宮,圖中空白方塊表示為通道,帶陰影線的方塊表示為墻,帶豎線條的為入口處,橫線條的為出口處。 Status MazePath(PosType start,PosType end) { SqStack S。 =。==) // 到達終點 (出口 ) { DestroyStack(amp。 // 足跡加 1 if(==amp。 do { if(Pass(curpos)) { // 當前位置可以通過,即是未曾走到過的通道塊 迷宮 FootPrint(curpos)。 進入 TC 核心代碼 迷宮 若迷宮 maze中存在從入口 start到出口 end的通道,則求得一條。 printf(\nDatalist after sort:\n)。i=。SqList la。 void print(SqList L) { int i。 遞歸調(diào)用快速排序函數(shù)實現(xiàn)一個無序序列的關(guān)鍵字的排序。 (*L).r[high]=(*L).r[low]。 pivotkey=(*L).r[low].key。 }TElemType。 } printf(Datalist before sort:\n)。 printf(Input datanum:)。i++) printf(%d ,[i].key)。k++) printf( %d,(*L).r[k].key)。 for(j=i1。 }SqList。 實驗內(nèi)容 ? 直接插入排序 ? 快速排序 退出 快速排序 ?存儲結(jié)構(gòu) ?快速排序算法函數(shù) ?輸出結(jié)果函數(shù) ?主函數(shù) 直接插入排序 注意:對每一個關(guān)鍵字的排序都有輸出 。G)。w=0。 ? Visit([v].data)。 ? for(v=0。 ? } ? printf(\n)。 ? printf(\n)。i(*G).vexnum。padjvex!=w1) ? p=pnextarc。 } 標注:在鄰接表的頂點向量中查找指定的頂點 v,返回頂點 v的第一個鄰接點,如存在返回鄰接表中弧結(jié)點的信息,如沒有返回 1 查找指定頂點的鄰接點 ? //返回下一個鄰接點。 ? (*G).vertices[j].firstarc=p。 ? padjvex=j。 ? } ? printf(Please input vex1 and vex2 separated by blank:\n)。 ? scanf(%d,%d,amp。而在有向圖中就不是這樣,如在有向圖中 v1到 v2有一條弧,描述成 v1, v2,表示從 v1到 v2有一弧,如果在有向圖的定義中沒有指明 v2, v1,則不存在從 v2到 v1的弧。 //頂點信息 ArcNode *firstarc。 void(*VisitFunc)(char* v)。 Bool visited[MAX_VERTEX_NUM]。G)。i++) { for(j=0。 return 1。 j=LocateVex(*G,vb)。++j){ ? (*G).arcs[i][j].adj=INFINITY。 ? printf(Please input %d vexs:\n,(*G).vexnum)。 ? ②在輸入的弧信息中,只輸入兩個頂點,不需要輸入權(quán)值,而且在鄰接矩陣中將 0修改為 1。 typedef struct { VertexType vexs[MAX_VERTEX_NUM]。 typedef char InfoType。 PostOrderTraverse(T,visitT)。 printf(Input BiTree by PreOrder:)。 } else return ERROR。 PreOrderTraverse(Tlchild,Visit)。 (*T)data=ch。 InitBiTree(T)。 } 初始化二叉樹 void DestroyBiTree(BiTree *T) { if(*T) { if((*T)lchild) DestroyBiTree(amp。 本函數(shù)采用二叉鏈表存儲結(jié)點,按下列序列輸入:abc○○ de○ g ○○ f○○○ 得:先序序列: abcdegf 中序序列: cbegdfa 后序序列: cgefdba a b c d e f g 圖 6 . 3 二叉樹 二叉樹遍歷簡介 typedef char TElemType。 } } 輸出二叉樹 void main() { SqBiTree T。amp。 輸出二叉樹 if((!((T[i*2+1]!=0 amp。i(pow(2,j)1)amp。 輸出二叉樹 流程圖 源代碼 開始 定義二叉樹的層數(shù) 計數(shù) j=1 ,結(jié)點序號 計數(shù) i j = 二叉樹的深度? N 結(jié)束 Y 層數(shù) j+ 1 顯示“ 第 j 層: ” N 結(jié)點序號 結(jié)點數(shù) amp。 假設(shè)二叉樹的深度為 j,則有: 2j1 ≤ NodeNumber 2j。 scanf(%d,amp。結(jié)點按照完全二叉樹的序號存入一維數(shù)組中。A)。 ? CreateSMatrix(amp。++p) ? if([p].j==col) ? { ? (*T).data[q].i=[p].j。 ? (*T).mu=。 (*M).tu=0。n=(*M).data[i1].j) ? k=1。 ? scanf(%d,%d,%d,amp。(*M).mu,amp。 ? }TSMatrix。 ? //定義存儲結(jié)構(gòu); i、 j為非零元的行下標和列下標, e為非零元的值。 ? for(i=0。A,66*i+6*j+6*k,i,j,k)。 ? printf(\n\n%dPage%dRow%dColumn:\n,bound1,bound2,bound3)。 ? for(i=0。 ? int *p。 int off。 va_start(ap,*e)。i++) { ind=va_arg(ap,int)。 else { free((*A).constants)。 return OK。 (*A).base=(ElemType *)malloc(elemtotal*sizeof(ElemType))。 if(!(*A).bounds) exit(OVERFLOW)。 int *constants。 typedef int Status。 ?理解數(shù)組的基本操作的算法,及在 C語言環(huán)境中一些主要基本操作的實現(xiàn)。 N維數(shù)組定義 假如有一個三維數(shù)組,即 dim=3,每一維的維界分別為: bounds[0]=3,bounds[1]=4, bounds[2]=2, 則每維的數(shù)組映像函數(shù)常量基址為: Constants[2]=1, Constants[1]=bounds[2]*constantds[2]=2*1=2, Co
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1