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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)軟ppt課件-wenkub.com

2025-05-09 03:09 本頁面
   

【正文】 col++) b[col][row] = a[row][col]。 4. 3 矩陣的壓縮存儲 rr oo w cc oo ll vv aa ll u ee 160 4. 3 矩陣的壓縮存儲 ? 三元組表示例 ???????????100001013200M 1 3 2 2 0 2 1 1 1 1 2 0 3 1 0 5 4 3 行數(shù) 列數(shù) 元素個數(shù) 行 列 值 161 ????????????????????????????????????????????????0000015003901700000000006022280000000001100910000B 0000280000000091039000000006000017000110150022022A6776轉(zhuǎn)置為4. 3 矩陣的壓縮存儲 例: 矩陣轉(zhuǎn)置: Am*n Bn*m 且 a[i][j]==b[j][i] 162 (1) 一般矩陣: for(row=0。 /*元素值 */ }node。1||。 ?運算: ① 給定一組下標 , 存取 相應 DE ② 給定一組下標, 修改 相應 DE 147 4. 2 數(shù)組的順序表示 ?????????232221131211aaaaaaA元素數(shù)目、關(guān)系固定 順序存儲 多維數(shù)組以一維方式存儲,即數(shù)組元素還是數(shù)組! ?問題:內(nèi)存是一維的 , 如何以一維內(nèi)存存儲多維數(shù)組 148 4. 2 數(shù)組的順序表示 LOC ( i ) = LOC ( i 1 ) + l =α+ i*l ?一維數(shù)組的存儲 149 4. 2 數(shù)組的順序表示 ?二維數(shù)組的存儲 ??????231322122111aaaaaa a23 a22 a21 a13 a12 a11 行優(yōu)先存儲 a23 a13 a22 a12 a21 a11 列優(yōu)先存儲 150 5. 2 數(shù)組的順序表示 )(]][[]2][[]1][[]0][[]][2[]2][2[]1][2[]0][2[]][1[]2][1[]1][1[]0][1[]][0[]2][0[]1][0[]0][0[a i jL o cMNANANANAMAAAAMAAAAMAAAA求對??????????????????????????行優(yōu)先 LOC ( i, j ) = a + ( (i – 0) * m + (j 0)) * l ?列優(yōu)先 LOC ( i, j ) = a + ( (j 0) * n + (i – 0) ) * l 例: 151 ? n維數(shù)組 ? 各維元素個數(shù)為 m1, m2, m3, …, m n ? 下標為 i1, i2, i3, …, i n 的數(shù)組元素的存儲地址: limialimimmmimmmiaiiiL OCnjnjknkjnnnnnn**)(),(11 1143232121????????????????????????????? ??? ????????4. 2 數(shù)組的順序表示 152 4. 3 矩陣的壓縮存儲 ?壓縮存儲 多個值相同的元素只分配一個空間,零元素不分配空間 153 一 、 特殊矩陣 ?定義: 相同元素 /零元素分布有一定規(guī)律的矩陣 。 如果能 , 說明如何得到 (即寫出 進棧 或 出棧 的序列 )。 *q=sq[front]。 else { rear=(rear+1)%MAXSIZE。 ?隊滿 (rear+1) % maxSize=front。 0 1 2 …… front 0 1 2 rear 隊列初始化: front = rear = 0。隊滿、隊空判定條件 0 M1 1 front rear 135 …… rear front maxSize1 入隊 : rear=(rear+1) % MaxSize。 187。 隊列( QUEUE) 187。 return OK。 Qrear = Qfront。 Qrear = p。 128 front rear x入隊 ^ x front rear y入隊 x ^ y front rear 空隊 ^ 隊列( QUEUE) ?鏈隊列圖示 129 入隊不用考慮隊滿 ,但出隊要考慮隊空 隊空條件為 front == NULL front rear y出隊 ^ front rear x出隊 x ^ y 隊列( QUEUE) ?鏈隊列圖示 130 隊列( QUEUE) ?鏈隊列入隊算法 p = (QueuePtr)malloc(sizeof(Qnode))。e) ( 4) 判斷一個隊列是否為空 QueueEmpty(Q) ( 5)獲得隊頭元素值 GetHead(Q,amp。 124 入隊 時將 rear+1, 新元素插入 elements[front]位置 . 出隊 時,將加 front+1, 刪去元素 隊列( QUEUE) a1 a2 a3…………………… .an 入隊 出隊 front rear 隊列 Q=(a1,a2,……,an) ?隊列定義 125 a1 a2 a3…………………… .an 端 1 端 2 入隊 出隊 入隊 出隊 隊列( QUEUE) ?雙端隊列 126 隊列( QUEUE) ?隊列的主要操作 ( 1)建立一個空隊列 InitQueue(amp。 ( 3) w=1 ( 2) w=2 ( 1) w=3 top (4)輸出: 1 w 0 ( 4) w=0 ( 3) w=1 ( 2) w=2 ( 1) w=3 top w (2) 2 (1) 3 輸出:(3) 1 (2) 2 (1) 3 3 (1 ) 3 返回 (3) 1 (2) 2 (1) 3 top (4) 0 結(jié)束 ?上例圖示分析 121 括號的匹配檢驗 棧 ( stack) ?假設(shè)表達式中有多種擴號,可以用棧來進行擴號匹配檢驗,具體做法為: 非括號字符跳過不理;碰上左擴號,入棧;碰上右擴號,出棧,并且檢查出棧元素是否與當前右擴號相匹配,若匹配繼續(xù)檢查,否則匹配失敗。 } } 棧 ( stack) 運行結(jié)果: 1, 2, 2, 3, 3, 3, ? 例 遞歸的執(zhí)行情況分析 120 棧 ( stack) 主程序 (1) print(w) w=3。 for(i=1。利用前面運算來求得答案的過程 ?實現(xiàn): 建立遞歸工作棧 ?優(yōu)點: 遞歸函數(shù)結(jié)構(gòu)清晰 , 程序易讀 , 正確性易證明 ?缺點: 速度慢 , 空間大效率低 棧 ( stack) 2.遞歸調(diào)用 116 棧 ( stack) void p (參數(shù)表 ) { if (遞歸結(jié)束條件) 可直接求解步驟; 基本項 else p(較小的參數(shù)); 歸納項 } ?遞歸算法的一般形式 117 棧 ( stack) 例:求 n! = 1, n=0 n*(n1)! n0 int Factorial(int n){ if (n==0) return 1。 return OK。/*下溢 */ p = Stop。 pnext = Stop。 }LinkList。 *e = Selements[Stop+1]。 Selements[Stop] = e。 int top。s,amp。棧中元素按 a1, a2, a3, … an的次序進棧,退棧按后進先出的原則進行的 ,因此按 an …… a3 a2 a1的次序出棧 棧 ( stack) 100 棧 ( stack) ?棧的主要操作: ( 1)建立一個空棧 IniStack(amp。 定義 ?通常稱插入、刪除的這一端(如 表尾 )為棧頂 (Top),另一端(表頭)為 棧底(Bottom)。 。 3 存儲結(jié)構(gòu)的選用 順序與鏈式存儲結(jié)構(gòu)的選用應考慮因素: ( 1)存儲空間 ( 2)運算時間 ( 3)程序設(shè)計語言 結(jié)點數(shù)據(jù)占用存儲量量結(jié)點數(shù)據(jù)本身占用存儲存儲密度 ?94 習題與練習 二 : 頭結(jié)點、頭指針和開始結(jié)點 鏈表有 。 pnextprior = pprior。 線性表的鏈式存儲結(jié)構(gòu) ?刪除給定結(jié)點 p 91 ppriornext=pnext。 ④ 167。 sprior = pprior。 167。 線性表的鏈式存儲結(jié)構(gòu) ( double linked list ) prior element next 指向前驅(qū)結(jié)點 數(shù)據(jù) 指向后繼結(jié)點 ?結(jié)點定義 typedef struct node{ datatype data。 } 82 ?它是一種動態(tài)結(jié)構(gòu),整個存儲空間為多個鏈表共用 ?不需預先分配空間 ?指針占用額外存儲空間 ?不能隨機存取,查找速度慢 167。pc = pb。 pb){ If(padata = pbdata){ pcnext = pa。 pb = Lbnext。free(q)。 } if(!(pnext)||j i1) return ERROR。 While(pnextamp。} 79 167。 s data = x。j++。j=0。 *e = p。amp。 頭結(jié)點指針域為空表示線性表為空 76 167。 線性表的鏈式存儲結(jié)構(gòu) 線性表的鏈式存儲結(jié)構(gòu) 74 data next p 結(jié)點( *p) ?(*p)表示 p所指向的結(jié)點 ?(*p).data/pdata表示 p指向結(jié)點的數(shù)據(jù)域 ?(*p).next/pnext表示 p指向結(jié)點的指針域 ?生成一個 LNode型新結(jié)點: p=(LNode *)malloc(sizeof(LNode))。 線性表的鏈式存儲結(jié)構(gòu) 73 ?實現(xiàn) typedef struct node { datatype data。 線性表的順序存儲和實現(xiàn) ?順序存儲結(jié)構(gòu)的優(yōu)缺 缺點 : ? 插入 、 刪除操作需要移動大量的元素 ? 預先分配空間需按最大空間分配 , 利用不充分 優(yōu)點 : ? 邏輯相鄰 , 物理相鄰 ? 可隨機存取任一元素 ? 存儲空間使用緊湊 ? 表容量難以擴充 69 167。 if(ij){ temp=[i]。 線性表的順序存儲和實現(xiàn) void move(sqlist A){ int i=0,j=,k。 } 66 [例 ] 已知線性表 (ao, a1, … , an1)按順序存 儲,且每個元素都是均不相等的 整數(shù)。 j。 65 167。 return 0。 線性表的順
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1