Filename: building-java-programs-2013.pdf | MD5: 4b87c6fc38e9067ae222a73bf0e098ce | Object: 3547 Generation: 0
Filters: FlateDecode | Size raw: 1095 bytes | Size decoded: 2914 bytes | File offset: 1856863
Stream MD5: 5fd463c4884d8e29559d8c67d521e24a | Stream decoded MD5: a573524f0a0aee29f770d7326d4fb0b3

Link to here | View Obj Raw | Save Obj as File

0: 
16: 
32: 
48: 
64: 
80: 
96: 
112: 
128: 
144: 
160: 
176: 
192: 
208: 
224: 
240: 
256: 
272: 
288: 
304: 
320: 
336: 
352: 
368: 
384: 
400: 
416: 
432: 
448: 
464: 
480: 
496: 
512: 
528: 
544: 
560: 
576: 
592: 
608: 
624: 
640: 
656: 
672: 
688: 
704: 
720: 
736: 
752: 
768: 
784: 
800: 
816: 
832: 
848: 
864: 
880: 
896: 
912: 
928: 
944: 
960: 
976: 
992: 
1008: 
1024: 
1040: 
1056: 
1072: 
1088: 
1104: 
1120: 
1136: 
1152: 
1168: 
1184: 
1200: 
1216: 
1232: 
1248: 
1264: 
1280: 
1296: 
1312: 
1328: 
1344: 
1360: 
1376: 
1392: 
1408: 
1424: 
1440: 
1456: 
1472: 
1488: 
1504: 
1520: 
1536: 
1552: 
1568: 
1584: 
1600: 
1616: 
1632: 
1648: 
1664: 
1680: 
1696: 
1712: 
1728: 
1744: 
1760: 
1776: 
1792: 
1808: 
1824: 
1840: 
1856: 
1872: 
1888: 
1904: 
1920: 
1936: 
1952: 
1968: 
1984: 
2000: 
2016: 
2032: 
2048: 
2064: 
2080: 
2096: 
2112: 
2128: 
2144: 
2160: 
2176: 
2192: 
2208: 
2224: 
2240: 
2256: 
2272: 
2288: 
2304: 
2320: 
2336: 
2352: 
2368: 
2384: 
2400: 
2416: 
2432: 
2448: 
2464: 
2480: 
2496: 
2512: 
2528: 
2544: 
2560: 
2576: 
2592: 
2608: 
2624: 
2640: 
2656: 
2672: 
2688: 
2704: 
2720: 
2736: 
2752: 
2768: 
2784: 
2800: 
2816: 
2832: 
2848: 
2864: 
2880: 
2896: 
2912: 
71 0a 2f 52  65 6c 61 74  69 76 65 43  6f 6c 6f 72 
69 6d 65 74  72 69 63 20  72 69 20 0a  2f 47 53 32 
20 67 73 0a  42 54 0a 2f  46 31 39 34  20 31 20 54 
66 0a 31 30  2e 34 38 34  32 20 30 20  30 20 31 30 
2e 34 38 34  32 20 31 31  38 2e 32 31  33 32 20 36 
30 38 2e 31  33 34 34 20  54 6d 0a 2f  43 73 38 20 
63 73 20 31  20 73 63 6e  0a 2e 30 31  34 39 20 54 
63 0a 30 20  54 77 0a 5b  28 69 6e 73  65 72 74 20 
73 68 6f 75  6c 64 20 62  65 20 69 6e  73 65 72 74 
65 64 20 61  74 20 69 6e  64 65 29 31  34 2e 38 28 
78 20 29 5d  54 4a 0a 2f  46 31 39 35  20 31 20 54 
66 0a 31 33  2e 39 35 31  20 30 20 54  44 0a 28 73 
69 7a 65 29  54 6a 0a 2f  46 31 39 34  20 31 20 54 
66 0a 31 2e  38 32 34 36  20 30 20 54  44 0a 5b 28 
2b 20 31 2e  20 46 29 31  34 2e 38 28  6f 72 20 65 
29 31 34 2e  38 28 78 61  6d 70 6c 65  2c 29 2d 32 
36 35 2e 31  28 69 6e 20  74 68 65 20  61 72 72 61 
79 20 68 65  61 70 20 73  68 6f 29 32  34 2e 38 28 
77 6e 20 69  6e 29 5d 54  4a 0a 2d 31  35 2e 37 37 
35 36 20 2d  31 2e 32 33  38 31 20 54  44 0a 2e 30 
32 20 54 63  0a 2d 2e 30  30 35 31 20  54 77 0a 5b 
28 46 69 67  75 72 65 20  31 38 2e 31  36 2c 29 2d 
32 36 35 2e  31 28 74 68  65 20 72 69  67 68 74 6d 
6f 73 74 20  6c 65 61 66  20 69 73 20  29 5d 54 4a 
0a 2f 46 31  39 38 20 31  20 54 66 0a  38 2e 39 38 
36 35 20 30  20 30 20 38  2e 39 38 36  35 20 32 37 
30 2e 34 37  36 37 20 35  39 35 2e 31  35 34 31 20 
54 6d 0a 2e  30 30 34 37  20 54 63 0a  30 20 54 77 
0a 28 36 35  29 54 6a 0a  2f 46 31 39  34 20 31 20 
54 66 0a 31  30 2e 34 38  34 32 20 30  20 30 20 31 
30 2e 34 38  34 32 20 32  38 31 2e 33  38 35 32 20 
35 39 35 2e  31 35 34 31  20 54 6d 0a  2e 30 32 20 
54 63 0a 2d  2e 30 30 35  31 20 54 77  0a 5b 28 2c 
29 2d 32 36  35 2e 31 28  73 74 6f 72  65 64 20 69 
6e 20 69 6e  64 65 29 31  34 2e 38 28  78 20 31 30 
2c 29 2d 32  36 35 2e 31  28 61 6e 64  20 61 20 6e 
65 29 32 34  2e 38 28 77  20 6c 65 61  66 20 77 29 
39 2e 37 28  6f 29 2d 2e  31 28 75 6c  64 20 62 65 
29 5d 54 4a  0a 2d 31 35  2e 35 36 33  36 20 2d 31 
2e 32 33 38  31 20 54 44  0a 2e 30 31  34 39 20 54 
63 0a 30 20  54 77 0a 5b  28 61 64 64  65 64 20 61 
74 20 69 6e  64 65 29 31  34 2e 38 28  78 20 31 31 
2e 29 5d 54  4a 0a 31 2e  31 34 33 20  2d 31 2e 32 
33 38 31 20  54 44 0a 2e  30 30 38 37  20 54 63 0a 
2d 2e 30 30  38 38 20 54  77 0a 5b 28  4c 65 74 90 
29 35 34 2e  38 28 73 20  69 6d 70 6c  65 6d 65 6e 
74 20 61 20  73 6b 29 39  2e 37 28 65  6c 65 74 61 
6c 20 76 29  31 34 2e 38  28 65 29 2e  33 28 72 73 
69 6f 6e 20  6f 66 20 61  20 70 72 69  6f 72 69 74 
79 20 71 75  65 75 65 20  75 73 69 6e  67 20 61 20 
68 65 61 70  20 72 65 70  72 65 73 65  6e 74 65 64 
20 61 73 29  5d 54 4a 0a  2d 31 2e 31  34 33 20 2d 
31 2e 32 33  38 31 20 54  44 0a 2d 2e  30 30 30 31 
20 54 63 0a  30 20 54 77  0a 5b 28 61  6e 20 61 72 
72 61 79 29  36 34 2e 38  28 2e 29 5d  54 4a 0a 2f 
46 31 39 38  20 31 20 54  66 0a 37 2e  39 38 38 20 
30 20 30 20  37 2e 39 38  38 20 31 31  38 2e 32 31 
33 32 20 35  33 31 2e 32  35 30 34 20  54 6d 0a 2d 
2e 30 30 30  32 20 54 63  0a 28 70 75  62 6c 69 63 
20 63 6c 61  73 73 20 48  65 61 70 49  6e 74 50 72 
69 6f 72 69  74 79 51 75  65 75 65 20  7b 29 54 6a 
0a 32 2e 34  30 37 32 20  2d 31 2e 36  32 35 20 54 
44 0a 28 70  72 69 76 61  74 65 20 69  6e 74 5b 5d 
20 65 6c 65  6d 65 6e 74  44 61 74 61  3b 29 54 6a 
0a 54 2a 0a  28 70 72 69  76 61 74 65  20 69 6e 74 
20 73 69 7a  65 3b 29 54  6a 0a 30 20  2d 33 2e 32 
35 20 54 44  0a 28 70 75  62 6c 69 63  20 48 65 61 
70 49 6e 74  50 72 69 6f  72 69 74 79  51 75 65 75 
65 5c 28 5c  29 20 7b 29  54 6a 0a 32  2e 34 30 37 
31 20 2d 31  2e 36 32 35  20 54 44 0a  28 65 6c 65 
6d 65 6e 74  44 61 74 61  20 3d 20 6e  65 77 20 69 
6e 74 5b 31  30 5d 3b 29  54 6a 0a 54  2a 0a 28 73 
69 7a 65 20  3d 20 30 3b  29 54 6a 0a  2d 32 2e 34 
30 37 31 20  2d 31 2e 36  32 35 20 54  44 0a 30 20 
54 63 0a 28  7d 29 54 6a  0a 54 2a 0a  2e 30 34 39 
37 20 54 63  0a 28 2e 2e  2e 29 54 6a  0a 2f 46 31 
39 34 20 31  20 54 66 0a  31 30 2e 34  38 34 32 20 
30 20 30 20  31 30 2e 34  38 34 32 20  31 33 30 2e 
31 39 35 31  20 34 30 32  2e 34 34 34  36 20 54 6d 
0a 2e 30 30  35 36 20 54  63 0a 2d 2e  30 30 35 37 
20 54 77 0a  5b 28 54 29  37 39 2e 39  28 6f 29 30 
28 20 73 69  6d 70 6c 69  66 79 20 74  68 65 20 69 
6d 70 6c 65  6d 65 6e 74  61 74 69 6f  6e 20 6f 66 
20 74 68 65  20 61 64 64  20 61 6e 64  20 72 65 6d 
6f 29 31 34  2e 38 28 76  29 31 34 2e  38 28 65 29 
2e 31 28 20  6f 70 65 72  61 74 69 6f  6e 73 2c 29 
2d 32 35 30  28 77 65 90  29 39 2e 37  28 6c 6c 20 
69 6e 74 72  6f 64 75 63  65 29 5d 54  4a 0a 2d 31 
2e 31 34 32  39 20 2d 31  2e 32 33 38  31 20 54 44 
0a 2e 30 31  37 35 20 54  63 0a 2d 2e  30 31 37 35 
20 54 77 0a  5b 28 73 65  29 32 34 2e  37 28 76 29 
31 34 2e 37  28 65 29 2e  32 28 72 61  6c 20 73 68 
6f 72 74 20  68 65 6c 70  65 72 20 6d  65 74 68 6f 
64 73 20 66  6f 72 20 6e  61 29 31 39  2e 36 28 76 
69 67 61 74  69 6e 67 20  75 70 77 29  39 2e 35 28 
61 72 64 20  61 6e 64 20  64 6f 29 32  34 2e 37 28 
77 6e 77 29  39 2e 35 28  61 72 64 20  69 6e 20 74 
68 65 20 74  72 65 65 20  66 72 6f 6d  29 5d 54 4a 
0a 54 2a 0a  2e 30 30 36  34 20 54 63  0a 2d 2e 30 
30 36 35 20  54 77 0a 5b  28 70 61 72  65 6e 74 73 
20 74 6f 20  63 68 69 6c  64 72 65 6e  20 61 6e 64 
20 76 69 63  65 20 76 29  31 34 2e 38  28 65 29 2e 
33 28 72 73  61 2c 29 2d  32 35 30 2e  31 28 61 73 
20 77 65 6c  6c 20 61 73  20 61 20 6d  65 74 68 6f 
64 20 74 6f  20 73 77 29  39 2e 38 28  61 70 20 65 
6c 65 6d 65  6e 74 73 20  69 6e 20 74  68 65 20 61 
72 72 61 79  29 36 34 2e  39 28 2c 29  5d 54 4a 0a 
54 2a 0a 30  20 54 63 0a  30 20 54 77  0a 5b 28 73 
69 6e 63 65  20 73 77 29  39 2e 38 28  61 70 70 69 
6e 67 20 69  73 20 75 73  65 64 20 69  6e 20 62 29 
31 39 2e 38  28 75 62 62  6c 69 6e 67  2e 29 5d 54 
4a 0a 2f 46  31 39 38 20  31 20 54 66  0a 37 2e 39 
38 38 20 30  20 30 20 37  2e 39 38 38  20 31 31 38 
2e 32 31 33  32 20 33 33  38 2e 35 34  31 20 54 6d 
0a 2d 2e 30  30 30 32 20  54 63 0a 28  2f 2f 20 68 
65 6c 70 65  72 73 20 66  6f 72 20 6e  61 76 69 67 
61 74 69 6e  67 20 69 6e  64 65 78 65  73 20 75 70 
2f 64 6f 77  6e 20 74 68  65 20 74 72  65 65 29 54 
6a 0a 30 20  2d 31 2e 36  32 35 20 54  44 0a 28 70 
72 69 76 61  74 65 20 69  6e 74 20 70  61 72 65 6e 
74 5c 28 69  6e 74 20 69  6e 64 65 78  5c 29 20 7b 
29 54 6a 0a  32 2e 34 30  37 32 20 2d  31 2e 36 32 
35 20 54 44  0a 28 72 65  74 75 72 6e  20 69 6e 64 
65 78 20 2f  20 32 3b 29  54 6a 0a 2d  32 2e 34 30 
37 32 20 2d  31 2e 36 32  35 20 54 44  0a 30 20 54 
63 0a 28 7d  29 54 6a 0a  30 20 2d 32  2e 38 37 35 
20 54 44 0a  2d 2e 30 30  30 32 20 54  63 0a 28 70 
72 69 76 61  74 65 20 69  6e 74 20 6c  65 66 74 43 
68 69 6c 64  5c 28 69 6e  74 20 69 6e  64 65 78 5c 
29 20 7b 29  54 6a 0a 32  2e 34 30 37  32 20 2d 31 
2e 36 32 35  20 54 44 0a  28 72 65 74  75 72 6e 20 
69 6e 64 65  78 20 2a 20  32 3b 29 54  6a 0a 2d 32 
2e 34 30 37  32 20 2d 31  2e 36 32 35  20 54 44 0a 
30 20 54 63  0a 28 7d 29  54 6a 0a 30  20 2d 33 20 
54 44 0a 2d  2e 30 30 30  32 20 54 63  0a 28 70 72 
69 76 61 74  65 20 69 6e  74 20 72 69  67 68 74 43 
68 69 6c 64  5c 28 69 6e  74 20 69 6e  64 65 78 5c 
29 20 7b 29  54 6a 0a 32  2e 34 30 37  32 20 2d 31 
2e 36 32 35  20 54 44 0a  28 72 65 74  75 72 6e 20 
69 6e 64 65  78 20 2a 20  32 20 2b 20  31 3b 29 54 
6a 0a 2d 32  2e 34 30 37  32 20 2d 31  2e 36 32 35 
20 54 44 0a  30 20 54 63  0a 28 7d 29  54 6a 0a 30 
20 2d 33 20  54 44 0a 2d  2e 30 30 30  32 20 54 63 
0a 28 70 72  69 76 61 74  65 20 62 6f  6f 6c 65 61 
6e 20 68 61  73 50 61 72  65 6e 74 5c  28 69 6e 74 
20 69 6e 64  65 78 5c 29  20 7b 29 54  6a 0a 32 2e 
34 30 37 32  20 2d 31 2e  36 32 35 20  54 44 0a 28 
72 65 74 75  72 6e 20 69  6e 64 65 78  20 3e 20 31 
3b 29 54 6a  0a 2d 32 2e  34 30 37 32  20 2d 31 2e 
36 32 35 20  54 44 0a 30  20 54 63 0a  28 7d 29 54 
6a 0a 30 20  2d 33 20 54  44 0a 2d 2e  30 30 30 32 
20 54 63 0a  28 70 72 69  76 61 74 65  20 62 6f 6f 
6c 65 61 6e  20 68 61 73  4c 65 66 74  43 68 69 6c 
64 5c 28 69  6e 74 20 69  6e 64 65 78  5c 29 20 7b 
29 54 6a 0a  32 2e 34 30  37 32 20 2d  31 2e 36 32 
35 20 54 44  0a 28 72 65  74 75 72 6e  20 6c 65 66 
74 43 68 69  6c 64 5c 28  69 6e 64 65  78 5c 29 20 
3c 3d 20 73  69 7a 65 3b  29 54 6a 0a  2d 32 2e 34 
30 37 32 20  2d 31 2e 36  32 35 20 54  44 0a 30 20 
54 63 0a 28  7d 29 54 6a  0a 30 20 2d  33 20 54 44 
0a 2d 2e 30  30 30 32 20  54 63 0a 28  70 72 69 76 
61 74 65 20  62 6f 6f 6c  65 61 6e 20  68 61 73 52 
69 67 68 74  43 68 69 6c  64 5c 28 69  6e 74 20 69 
6e 64 65 78  5c 29 20 7b  29 54 6a 0a  32 2e 34 30 
37 32 20 2d  31 2e 36 32  35 20 54 44  0a 28 72 65 
74 75 72 6e  20 72 69 67  68 74 43 68  69 6c 64 5c 
28 69 6e 64  65 78 5c 29  20 3c 3d 20  73 69 7a 65 
3b 29 54 6a  0a 2d 32 2e  34 30 37 32  20 2d 31 2e 
36 32 35 20  54 44 0a 30  20 54 63 0a  28 7d 29 54 
6a 0a 2f 46  31 30 38 20  31 20 54 66  0a 39 2e 39 
38 34 39 20  30 20 30 20  39 2e 39 38  34 39 20 31 
31 38 2e 32  31 33 32 20  36 33 32 2e  36 31 37 36 
20 54 6d 0a  2d 2e 30 30  30 32 20 54  63 0a 28 31 
38 2e 32 29  54 6a 0a 2f  46 31 32 33  20 31 20 54 
66 0a 32 2e  34 38 31 39  20 30 20 54  44 0a 2d 2e 
30 30 30 31  20 54 63 0a  5b 28 50 72  69 6f 72 69 
74 79 20 51  75 65 75 65  73 20 61 6e  64 20 48 65 
61 29 39 2e  37 28 70 73  29 5d 54 4a  0a 2f 46 31 
39 36 20 31  20 54 66 0a  38 2e 39 38  36 35 20 30 
20 30 20 38  2e 39 38 36  35 20 34 35  39 2e 36 39 
38 33 20 36  33 32 2e 36  31 37 36 20  54 6d 0a 30 
20 54 63 0a  28 31 30 38  31 29 54 6a  0a 45 54 0a 
51 0a
q./RelativeColor
imetric ri ./GS2
 gs.BT./F194 1 T
f.10.4842 0 0 10
.4842 118.2132 6
08.1344 Tm./Cs8 
cs 1 scn..0149 T
c.0 Tw.[(insert 
should be insert
ed at inde)14.8(
x )]TJ./F195 1 T
f.13.951 0 TD.(s
ize)Tj./F194 1 T
f.1.8246 0 TD.[(
+ 1. F)14.8(or e
)14.8(xample,)-2
65.1(in the arra
y heap sho)24.8(
wn in)]TJ.-15.77
56 -1.2381 TD..0
2 Tc.-.0051 Tw.[
(Figure 18.16,)-
265.1(the rightm
ost leaf is )]TJ
./F198 1 Tf.8.98
65 0 0 8.9865 27
0.4767 595.1541 
Tm..0047 Tc.0 Tw
.(65)Tj./F194 1 
Tf.10.4842 0 0 1
0.4842 281.3852 
595.1541 Tm..02 
Tc.-.0051 Tw.[(,
)-265.1(stored i
n inde)14.8(x 10
,)-265.1(and a n
e)24.8(w leaf w)
9.7(o)-.1(uld be
)]TJ.-15.5636 -1
.2381 TD..0149 T
c.0 Tw.[(added a
t inde)14.8(x 11
.)]TJ.1.143 -1.2
381 TD..0087 Tc.
-.0088 Tw.[(Let.
)54.8(s implemen
t a sk)9.7(eleta
l v)14.8(e).3(rs
ion of a priorit
y queue using a 
heap represented
 as)]TJ.-1.143 -
1.2381 TD.-.0001
 Tc.0 Tw.[(an ar
ray)64.8(.)]TJ./
F198 1 Tf.7.988 
0 0 7.988 118.21
32 531.2504 Tm.-
.0002 Tc.(public
 class HeapIntPr
iorityQueue {)Tj
.2.4072 -1.625 T
D.(private int[]
 elementData;)Tj
.T*.(private int
 size;)Tj.0 -3.2
5 TD.(public Hea
pIntPriorityQueu
e\(\) {)Tj.2.407
1 -1.625 TD.(ele
mentData = new i
nt[10];)Tj.T*.(s
ize = 0;)Tj.-2.4
071 -1.625 TD.0 
Tc.(})Tj.T*..049
7 Tc.(...)Tj./F1
94 1 Tf.10.4842 
0 0 10.4842 130.
1951 402.4446 Tm
..0056 Tc.-.0057
 Tw.[(T)79.9(o)0
( simplify the i
mplementation of
 the add and rem
o)14.8(v)14.8(e)
.1( operations,)
-250(we.)9.7(ll 
introduce)]TJ.-1
.1429 -1.2381 TD
..0175 Tc.-.0175
 Tw.[(se)24.7(v)
14.7(e).2(ral sh
ort helper metho
ds for na)19.6(v
igating upw)9.5(
ard and do)24.7(
wnw)9.5(ard in t
he tree from)]TJ
.T*..0064 Tc.-.0
065 Tw.[(parents
 to children and
 vice v)14.8(e).
3(rsa,)-250.1(as
 well as a metho
d to sw)9.8(ap e
lements in the a
rray)64.9(,)]TJ.
T*.0 Tc.0 Tw.[(s
ince sw)9.8(appi
ng is used in b)
19.8(ubbling.)]T
J./F198 1 Tf.7.9
88 0 0 7.988 118
.2132 338.541 Tm
.-.0002 Tc.(// h
elpers for navig
ating indexes up
/down the tree)T
j.0 -1.625 TD.(p
rivate int paren
t\(int index\) {
)Tj.2.4072 -1.62
5 TD.(return ind
ex / 2;)Tj.-2.40
72 -1.625 TD.0 T
c.(})Tj.0 -2.875
 TD.-.0002 Tc.(p
rivate int leftC
hild\(int index\
) {)Tj.2.4072 -1
.625 TD.(return 
index * 2;)Tj.-2
.4072 -1.625 TD.
0 Tc.(})Tj.0 -3 
TD.-.0002 Tc.(pr
ivate int rightC
hild\(int index\
) {)Tj.2.4072 -1
.625 TD.(return 
index * 2 + 1;)T
j.-2.4072 -1.625
 TD.0 Tc.(})Tj.0
 -3 TD.-.0002 Tc
.(private boolea
n hasParent\(int
 index\) {)Tj.2.
4072 -1.625 TD.(
return index > 1
;)Tj.-2.4072 -1.
625 TD.0 Tc.(})T
j.0 -3 TD.-.0002
 Tc.(private boo
lean hasLeftChil
d\(int index\) {
)Tj.2.4072 -1.62
5 TD.(return lef
tChild\(index\) 
<= size;)Tj.-2.4
072 -1.625 TD.0 
Tc.(})Tj.0 -3 TD
.-.0002 Tc.(priv
ate boolean hasR
ightChild\(int i
ndex\) {)Tj.2.40
72 -1.625 TD.(re
turn rightChild\
(index\) <= size
;)Tj.-2.4072 -1.
625 TD.0 Tc.(})T
j./F108 1 Tf.9.9
849 0 0 9.9849 1
18.2132 632.6176
 Tm.-.0002 Tc.(1
8.2)Tj./F123 1 T
f.2.4819 0 TD.-.
0001 Tc.[(Priori
ty Queues and He
a)9.7(ps)]TJ./F1
96 1 Tf.8.9865 0
 0 8.9865 459.69
83 632.6176 Tm.0
 Tc.(1081)Tj.ET.
Q.