【正文】
q:=t 】 】 ENDP。 pre↑.next:=q。 p:=p↑.next 】 。 x:=q↑.data。 WHILE q≠NIL DO 【 pre:=la。 IF la↑.next≠NIL THEN 【 q:=la↑.next↑.next。 為了處理方便,假設(shè)單鏈表具有頭結(jié)點(diǎn), p是搜索指針, q記錄正在處理的結(jié)點(diǎn)。 ( 1) 100, 86, 48, 73, 35, 39, 42, 57, 66,21 ( 2) 12, 70, 33, 65, 24, 56, 48, 92, 86,33 ( 1) 100, 86, 48, 73, 35, 39, 42, 57, 66, 21 100 86 48 73 35 39 42 57 66 21 是堆 ( 2) 12, 70, 33, 65, 24, 56, 48, 92, 86, 33 12 70 33 65 24 56 48 92 86 33 不是堆 調(diào)整后: 12, 24, 33, 65, 33, 56, 48, 92, 86, 70 12 24 33 65 33 56 48 92 86 70 第十章習(xí)題 2。判斷以下序列是否為堆。試寫(xiě)出各記錄存入時(shí) , 表 A的狀態(tài)。 ?設(shè) k=199 第一次: low=1, high=10, mid=5 第二次: low= 5, high= 10, mid= 7 第三次: low= 5, high= 7, mid= 6 成功! ?設(shè) k=084 第一次: low=1, high=10, mid=5 第二次: low= 1, high= 5, mid= 3 第三次: low= 1, high= 3, mid= 2 第四次: low= 1, high= 2, mid= 1 第五次: low= 1, high= 2, mid= 1 死循環(huán)! {069, 087, 094, 127, 148, 199, 254, 271, 301, 355} 1 2 3 4 5 6 7 8 9 10 第九章習(xí)題 現(xiàn)有 R1 R2 R3 R4 R5 R6共 6個(gè)記錄依次存入哈希表 A,表 A共有 6個(gè)存儲(chǔ)單元,地址為 0~5。并指出關(guān)鍵路徑。 j:=2*j+1 】 ENDP。 PUSH(S,j)。 INISTACK(S)。n:integer)。 TYPE sqbitree=ARRAY[1..maxsize] OF elemtp。 {pr in t _leaf}4. 一棵 n個(gè)結(jié)點(diǎn)的完全二叉樹(shù)采用順序存儲(chǔ)結(jié)構(gòu),試寫(xiě)一非遞歸算法實(shí)現(xiàn)對(duì)該樹(shù)的前序遍歷。pr in t _lea f ( bt ↑ .rc hi ld ) ]。]EN D P {c ha nge _pr eo r d er }3. 試編寫(xiě)輸出二叉樹(shù)中所有葉結(jié)點(diǎn)的算法 .P ROC pr in t _leaf( bt : bit r ep t r )。 ch an ge _pr eo r d er ( bt ↑ . l ch i l d) 。 bt ↑ . l ch i l d: =b t ↑ . r ch i l d。 { t ra v e l _ le v e l}2. 試編寫(xiě)將二叉樹(shù)中的所有結(jié)點(diǎn)的左右子樹(shù)互換的算法 .PR O C c ha nge _pr eo r de r ( bt : b i t r ep t r ) 。I F p ↑ .r c hi ld NIL T HEN a dd Q ( q, p ↑ .r c hi ld)。 writ e ( p ↑ .d a t a ) 。 { 使用隊(duì)列 }I F bt NIL T HEN [ a dd Q ( q, bt) 。 RETURN(y) ENDF。 y:=[j]。 RETURN(NULL) 】 ; front:=(+m) MOD m。 (3)出隊(duì)算法 FUNC add_sq(VAR q:sq):elemtp。 []:=x。 IF =m THEN ERROR(‘overflow’)。 第三章 習(xí)題 (1)隊(duì)滿條件: =m 隊(duì)空條件: =0 (2)入隊(duì)算法 PROC add_sq(VAR q:sq。 假定形式描述循環(huán)隊(duì)列為 TYPE sq= RECORD sequ:ARRAY[0..m1] OF elemtp。 4. 假設(shè) sequ[0..m1]存放循環(huán)隊(duì)列的元素 ,同時(shí)設(shè) rear和 quelen分別指示循環(huán)隊(duì)列中隊(duì)尾元素的位置和包含的元素個(gè)數(shù)。 dispose(q)。 h?.next:=q?.next。 x:=h?.next?.data。 IF rear?.next=rear THEN RETURN(NULL)。 rear:=s ENDP。 s?.next:=rear?.next。 new(s)。 第三章 習(xí)題 (2)入隊(duì)列操作