递回树德科技大学PWS伺服主机课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《递回树德科技大学PWS伺服主机课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 递回 树德 科技大学 PWS 伺服 主机 课件
- 资源描述:
-
1、1 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structures資料結構資料結構Chapter 42 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structures堆疊堆疊(Stack)p定義定義 資料有序存取而成的串列資料有序存取而成的串列 資料存取的順序是後進先出資料存取的順序是後進先出(LIFO),如,如同玩積木同玩積木3 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structures 意義意義p三種狀態三種狀態 堆疊是空的堆疊是空的(top=0)堆
2、疊是滿的堆疊是滿的(top=n)介於前面兩者之間介於前面兩者之間p二種動作二種動作 加入加入(add)動作動作 刪除刪除(delete)動作動作p例題例題 ko4_1(堆疊程式堆疊程式)4 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData StructuresStack 類別類別pJava提供了一個與類別有關的提供了一個與類別有關的Stack 類別,主類別,主要用於執行後進先出的作業。要用於執行後進先出的作業。建構子建構子 Stack()方法方法add(object),clear(),clone(),copy(Stack),elements(),equal
3、s(Object),equals(Stack),finish(),hashCode(),isEmpty(),maxSize(),pop(),push(),remove(),size(),start(),swap(Stack),top(),toString()p例題例題 ko4_1a(利用利用Stack 類別寫成的堆疊程式類別寫成的堆疊程式)pP.112例題、例題、P.113例題例題5 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structures堆疊的應用堆疊的應用p副程式的應用副程式的應用p遞迴方法及傳回值的應用處理遞迴方法及傳回值的應用處理p運
4、算式運算式(前序式、中序式、後序式前序式、中序式、後序式)的運算的運算p二元樹的追蹤二元樹的追蹤p系統中斷處理系統中斷處理p使用暫存器堆疊指標執行堆疊運算使用暫存器堆疊指標執行堆疊運算6 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structures堆疊的應用堆疊的應用p副程式的應用副程式的應用 以副程式呼叫副程式的方式,先呼叫的副程以副程式呼叫副程式的方式,先呼叫的副程式被放入堆疊內,先到放置於底層,後到放式被放入堆疊內,先到放置於底層,後到放置於上層。置於上層。p遞迴方法及傳回值的應用處理遞迴方法及傳回值的應用處理 遞迴方法及傳回值也是應用堆疊
5、的方式處理遞迴方法及傳回值也是應用堆疊的方式處理資料,資料,also see example ko2_1p運算式運算式(前序式、中序式、後序式前序式、中序式、後序式)的運算的運算p二元樹的追蹤二元樹的追蹤p系統中斷處理系統中斷處理p使用暫存器堆疊指標執行堆疊運算使用暫存器堆疊指標執行堆疊運算7 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structures堆疊的應用堆疊的應用p副程式的應用副程式的應用p遞迴方法的應用遞迴方法的應用p運算式運算式(前序式、中序式、後序式前序式、中序式、後序式)的運算的運算 由運算元由運算元(operator)、運算子
6、、運算子(operand)組成的組成的運算式,都是應用堆疊的方式處理。運算式,都是應用堆疊的方式處理。See next section for detailp二元樹的追蹤二元樹的追蹤 二元樹的追蹤是拜訪二元樹的每一個節點,二元樹的追蹤是拜訪二元樹的每一個節點,是應用堆疊的方式處理。是應用堆疊的方式處理。See chapter 5p系統中斷處理系統中斷處理p使用暫存器堆疊指標執行堆疊運算使用暫存器堆疊指標執行堆疊運算8 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structures堆疊的應用堆疊的應用p副程式的應用副程式的應用p遞迴方法的應用遞迴方法
7、的應用p運算式運算式(前序式、中序式、後序式前序式、中序式、後序式)的運算的運算p二元樹的追蹤二元樹的追蹤p系統中斷處理系統中斷處理 系統中斷處理是由中斷的來源裝置送出一個中斷向量,系統中斷處理是由中斷的來源裝置送出一個中斷向量,CPU依據中斷向量跳到所指的位址之前,會先將傳回位垃依據中斷向量跳到所指的位址之前,會先將傳回位垃(return address)及狀態暫存器的資料儲存到堆疊中,等完及狀態暫存器的資料儲存到堆疊中,等完成中斷處理後,再從堆疊中取出資料,繼續執行中斷前未成中斷處理後,再從堆疊中取出資料,繼續執行中斷前未完成的工作。完成的工作。p使用暫存器堆疊指標執行堆疊運算使用暫存器堆
8、疊指標執行堆疊運算 堆疊指標是一種持殊暫存器,程設師利用堆疊指標取得堆堆疊指標是一種持殊暫存器,程設師利用堆疊指標取得堆疊中最上層的資料;並利用疊中最上層的資料;並利用push將資料存放於堆疊中,利將資料存放於堆疊中,利用用pop將資料從堆疊中取出。將資料從堆疊中取出。9 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structures運算式運算式p算術運算式由運算元算術運算式由運算元(operator)、運算子、運算子(operand)組成。組成。運算元:運算元:09,大小寫大小寫az 運算子:運算子:算術運算子算術運算子 關係運算子關係運算子 邏
9、輯運算子邏輯運算子 指定運算子指定運算子 條件運算子條件運算子 位元運算子位元運算子10 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structures運算式運算式p算術運算式有三種型式:算術運算式有三種型式:中序式中序式(infix)習慣性的寫法習慣性的寫法 將運算子放於兩個運算元的中間。如:將運算子放於兩個運算元的中間。如:x*y 前序式前序式(prefix)將運算子放於兩個運算元之前。如:將運算子放於兩個運算元之前。如:*xy 後序式後序式(postfix)將運算子放於兩個運算元之後。如:將運算子放於兩個運算元之後。如:xy*11 樹德科技大
10、學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structuresp中序式轉換成前序式步驟如下:中序式轉換成前序式步驟如下:Step 1:將運算式依照運算子優先權全部加上小括號將運算式依照運算子優先權全部加上小括號()Step 2:將運算子取代左邊的小括號,直到左邊的小將運算子取代左邊的小括號,直到左邊的小括號完全消失為止括號完全消失為止 Step 3:刪除所有右邊的小括號刪除所有右邊的小括號p如:如:a+b*c-d。1.(a+(b*c)-d)2.(a+*bc)-d)3.(+a*bc)-d)4.-+a*bc)d)5.-+a*bcd中序式轉換成前序式中序式轉換成前
11、序式Page117例題例題*212 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structuresp中序式轉換成後序式步驟如下:中序式轉換成後序式步驟如下:Step 1:將運算式依照運算子優先權全部加上小括號將運算式依照運算子優先權全部加上小括號()Step 2:將運算子取代右邊的小括號,直到右邊小括號完全消失為止將運算子取代右邊的小括號,直到右邊小括號完全消失為止 Step 3:刪除所有左邊的小括號刪除所有左邊的小括號p如:如:a+b*c-d。1.(a+(b*c)-d)2.(a+(bc*)-d)3.(a(bc*+-d)4.(a(bc*+d-5.a
12、bc*+d-pPage118&119例題例題pPage 119例題例題ko4_2中序式轉換成後序式中序式轉換成後序式中序式轉換成後序式中序式轉換成後序式13 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structuresp前序式轉換成中序式步驟如下:前序式轉換成中序式步驟如下:Step 1:由右至左讀取運算式。由右至左讀取運算式。Step 2:若讀取的是運算子,將右邊兩個運算元連同若讀取的是運算子,將右邊兩個運算元連同運算子以小括號圍起來,直到所有運算子都被圍起來運算子以小括號圍起來,直到所有運算子都被圍起來為止。為止。Step 3:將運算子移到兩
13、個運算元之間,最後整理,將運算子移到兩個運算元之間,最後整理,刪除不必要的小括號。刪除不必要的小括號。p例題:將例題:將前序式前序式+*/ab-cde 轉換成中序式轉換成中序式 Step 1前序式前序式+*/ab-cde 987654321 Step 2+*(/ab)(-cd)e +(*(/ab)(-cd)e (+(*(/ab)(-cd)e)Step 3(+(*(/ab)(-cd)e)(+(*(a/b)(c-d)e)(+(a/b)*(c-d)e)(a/b)*(c-d)+e)a/b*(c-d)+e 中序式中序式前序式轉換成中序式前序式轉換成中序式14 樹德科技大學樹德科技大學 資訊管理系資訊管理
14、系 Data StructuresData Structuresp例題:將例題:將前序式前序式+*a-bc/de 轉換成中序式轉換成中序式 Step 1前序式前序式+*a-bc/de 987654321 Step 2+*a(-bc)(/de)+(*a(-bc)(/de)(+(*a(-bc)(/de)Step 3(+(*a(-bc)(/de)(+(*a(b-c)(d/e)(+(a*(b-c)(d/e)(a*(b-c)+(d/e)a*(b-c)+d/e中序式中序式p例題:例題:前序式前序式+*a-bc/de,其值為何?,其值為何?(其中其中a=3,b=8,c=3,d=9,e=3)前序式前序式+*a
15、-bc/de a*(b-c)+d/e中序式中序式 已知已知a=3,b=8,c=3,d=9,e=3代入中序式代入中序式 a*(b-c)+d/ea*(b-c)+d/e=3*(8-3)+9/3=18前序式轉換成中序式前序式轉換成中序式15 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structuresp後序式轉換成中序式步驟如下:後序式轉換成中序式步驟如下:Step 1:由左至右讀取運算式。由左至右讀取運算式。Step 2:若讀取的是運算子,將左邊兩個運算元連同若讀取的是運算子,將左邊兩個運算元連同運算子以小括號圍起來,直到所有運算子都被圍起來運算子以小
16、括號圍起來,直到所有運算子都被圍起來為止。為止。Step 3:將運算子移到兩個運算元之間,最後整理,將運算子移到兩個運算元之間,最後整理,刪除不必要的小括號。刪除不必要的小括號。p例題:將例題:將後序式後序式 ab*cd+-a/轉換成中序式轉換成中序式 Step 1前序式前序式 ab*cd+-a/123456789 Step 2 ab*cd+-a/(ab*)(cd+)-a/(ab*)(cd+)-)a/)Step 3(ab*)(cd+)-)a/)(a*b)(c+d)-)a/)(a*b)-(c+d)a/)(a*b)-(c+d)/a)(a*b-(c+d)/a中序式中序式後序式轉換成中序式後序式轉換成
17、中序式16 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structuresp例題:例題:若若a=2,b=3,c=4,d=5,計算後序式計算後序式 ab*cd+-a/的值為何的值為何 後序式後序式 ab*cd+-a/(a*b-(c+d)/a中序式中序式 已知已知a=2,b=3,c=4,d=5代入中序式代入中序式(a*b-(c+d)/a(a*b-(c+d)/a=(2*3-(4+5)/2=-3/2後序式轉換成中序式後序式轉換成中序式17 樹德科技大學樹德科技大學 資訊管理系資訊管理系 Data StructuresData Structures前序式轉換
展开阅读全文