logo资料库

《计算机算法-设计与分析导论》中文翻译版.pdf

第1页 / 共270页
第2页 / 共270页
第3页 / 共270页
第4页 / 共270页
第5页 / 共270页
第6页 / 共270页
第7页 / 共270页
第8页 / 共270页
资料共270页,剩余部分请下载后查看
Contents 1 Ú¯ 1.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Java . . . . . . . . . . . . . . . . . . . . . 1.2.1  Java8 . . . . . . . . . . . . . . . . . . . . . 1.2.2  . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3 Java . . . . . . . . . . . . . . . . . . . 1.3 ê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 8ÜÚ  . . . . . . . . . . . . . . . . . . . . . . 1.3.2 êÚÈ ä . . . . . . . . . . . . . . . . . . . . . . 1.3.3 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Ú¯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2   . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3  Ú . . . . . . . . . . . . . . . . . . . . . . . . 1.4.4   . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.5  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.6  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.7 Ú¯ . . . . . . . . . . . . . . . . . . . . . . 1.4.8 Ú . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 ¼ê . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1 CÚ . . . . . . . . . . . . . . . . . . . . . 1.5.2  . . . . . . . . . . . . . . . . . . . . . . . . 1.5.3 O ΩÚΘ . . . . . . . . . . . . . . . . . . . . . . . . 1.5.4 Ú . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 ê . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.1  . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.2  . . . . . . . . . . . . . . . . . . 1.6.3   . . . . . . . . . . . . . . . . . . . . . . . . . i 1 1 2 3 7 8 10 10 13 24 26 27 27 29 33 34 34 34 36 37 38 42 44 45 46 46 49 49
ii CONTENTS 1.6.4 z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2 êâÚ êâ 2.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 ADT Ú E . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 ADT   . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 ADT E . . . . . . . . . . . . . . . . . . . . . . . . 2.3 ADTÚ . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1  ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 List ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 ADT . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.4 ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.5 In-tree ADT . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Ú . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 8ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 ADT . . . . . . . . . . . . . . . . . . . . . . . 2.5.2 ÜADTDisjoint8Ü . . . . . . . . . . . . . . 2.5.3 ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . 3    53 53 54 54 56 56 56 57 63 66 68 69 69 73 73 73 74 75 79 79 80 83 79 3.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 ¹eÚ  . . . . . . . . . . . . . . . . . 3.2.2  «Method 99 . . . . . . . . . . . . . . . . . . . 3.2.3   . . . . . . . . . . . . . . . . . . . . . . 3.3  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 ª . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2   . . . . . . . . . . . . . . . . . . . . 3.5   . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Ú . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.2  . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.3  . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.5.4   . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.5.5  ä . . . . . . . . . . . . . . . . . . 102 3.5.6   . . . . . . . . . . . . . . . . . . . . . . . . 104 3.5.7  . . . . . . . . . . . . . . . . . . . . . . 104 95 85 87 94 94 85 88 91
CONTENTS iii 3.6  ª . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 3.7   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.7.1  . . . . . . . . . . . . . . . . . . . . . 112 3.7.2 Chip and ConquerBe Conquered . . . . . . . . . . . 114 *   . . . . . . . . . . . . . . . . . . . . 115 3.7.3 4  117 4.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.2  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.2.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.2.2 Ú . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.2.3  . . . . . . . . . . . . . . . . . . 123 4.3  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.4 ¯  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.4.1 ¯  . . . . . . . . . . . . . . . . . . . . . . . . 125 4.4.2 Partition  . . . . . . . . . . . . . . . . . . . . . . . 127 4.4.3 ¯  . . . . . . . . . . . . . . . . . . . . . . . . 129 4.4.4 ¯  . . . . . . . . . . . . . . . . . . 135 4.5  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 4.5.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 4.5.2 z . . . . . . . . . . . . . . . . . . . . . . . . . . 140 4.5.3   . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 4.6  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 4.7  . . . . . . . . . . . . . . . . . . . . . . . . 145 4.7.1  . . . . . . . . . . . . . . . . . . . . . . 145 4.7.2  . . . . . . . . . . . . . . . . . . . . . . . . 146 4.7.3   . . . . . . . . . . . . . . . . . . . . . . . . 147 4.8  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 4.8.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 4.8.2  . . . . . . . . . . . . . . . . . . . . . . . . . 149 4.8.3  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 4.8.4  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 4.8.5 Ú . . . . . . . . . . . . . . . . . . . . . . 153 4.8.6   . . . . . . . . . . . . . . . . . . . . . . . . . . 153 4.9  . . . . . . . . . . . . . . . . . . . . . . . . . 155 4.10 Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 4.10.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 4.10.2 Ú‘ . . . . . . . . . . . . . . . . . . . . . . . . 156 4.11 ê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
iv CONTENTS 4.11.1  … . . . . . . . . . . . . . . . . . . . . . . 156 4.11.2 ê . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5 Selection and Adversary Arguments 163 5.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Selection¯ . . . . . . . . . . . . . . . . . . . . . . . . . 163 5.1.1 5.1.2  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 5.1.3 Adversary Arguments . . . . . . . . . . . . . . . . . . . . 164 5.1.4  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 5.2 maxÚmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 5.3  … . . . . . . . . . . . . . . . . . . . . . . . . . 167 5.3.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 5.3.2  . . . . . . . . . . . . . . . . . . . . . . . . . . 168 . . . . . . . . . . . 169 5.3.3 An Adversary Lowe-Bound Argument 5.3.4 maxÚsecondLargest . . . . . . . . 169 5.4 Selection¯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 5.4.1 C . . . . . . . . . . . . . . . . . . . . . . 169 5.5 median . . . . . . . . . . . . . . . . . . . . . . . . . . 169 5.6 Designing Against an Adversary . . . . . . . . . . . . . . . . . . 169 6 8Ú 171 6.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 6.2 ê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 6.3 Amortized  . . . . . . . . . . . . . . . . . . . . . . . . . 172 6.4 ùç . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 6.4.1  . . . . . . . . . . . . . . . . . . . . . . . . . . 175 6.4.2  . . . . . . . . . . . . . . . . . . . . . . . . . 175 6.4.3 ùç . . . . . . . . . . . . . . . . . . . . . . . . . 175 6.4.4 ùçÚ  . . . . . . . . . . . . . . . . . . . . . 175 6.4.5 ùç . . . . . . . . . . . . . . . . . . . . . . . . . 176 6.5  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 6.5.1   . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.5.2 m  . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.5.3 ¼ê . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.6 d ÚÜ . . . . . . . . . . . . . . . . . . . . 177 6.6.1 d  . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.6.2  . . . . . . . . . . . . . . . . . . . . . . . . 178 6.6.3 Ü . . . . . . . . . . . . . . . . . . . . . . . . 179 6.6.4 Weighted Union . . . . . . . . . . . . . . . . . . . . . . . 180
CONTENTS v 6.6.5  . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 *wUnionÚcFind . . . . . . . . . . . . . . . . . . . 181 6.6.6 6.6.7  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 6.7 with a Decrease Key Operation . . . . . . . . . . . . 181 6.7.1 The Decrease Key Operation . . . . . . . . . . . . . . . . 182 7 ãÚã 183 7.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 7.2 Ú« . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 7.2.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 7.2.2 ã . . . . . . . . . . . . . . . . . . . . . . . . . 187 7.2.3 ã«Úêâ . . . . . . . . . . . . . . . . . . . . . 193 7.3 ã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 7.3.1 Depth-First Search . . . . . . . . . 196 7.3.2 Breadth-First Search . . . . . . . . . . . 200 7.3.3 Ú  . . . . . . . . . . . . 203 7.4 ã  . . . . . . . . . . . . . . . . . . . . . . . . 204 7.4.1 Ú . . . . . . . . . . . . . . . . . . . . . 204 7.4.2  Ó . . . . . . . . . . . . . . . . . 206 7.4.3 DFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 7.4.4 DFS e . . . . . . . . . . . . . . . . . . . . . . . . . 209 7.4.5 DFS . . . . . . . . . . . . . . . . . . . . . . . . . . 209 7.4.6 Ãã . . . . . . . . . . . . . . . . . . . . . . . . . . 209 7.5 ã . . . . . . . . . . . . . . . . . . . . . . . . . 210 7.6 Ãã  . . . . . . . . . . . . . . . . . . . . . . . . 210 7.7 Ãã . . . . . . . . . . . . . . . . . . . . . . . . . 210 7.7.1 !Ú . . . . . . . . . . . . . . . . . . . . 210 8 ãz¯Ú 211 8.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 8.2 Prim’s   . . . . . . . . . . . . . . . . . . . . . . . . 211 8.2.1  Ú . . . . . . . . . . . . . . . . . . 212 8.2.2  . . . . . . . . . . . . . . . . . . . . . . . . . . 212 8.2.3   . . . . . . . . . . . . . . . . . . . . . . 214 8.2.4 Prim’s MST . . . . . . . . . . . . . . . . . . 215 8.2.5   . . . . . . . . . . . . . . . . 216 8.2.6  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 8.2.7 Ú . . . . . . . . . . . . . . . . . . . . . 217 8.2.8 The Pairing Forest Interface . . . . . . . . . . . . . . . . . 217
vi CONTENTS 8.2.9  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 8.3  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 8.3.1  . . . . . . . . . . . . . . . . . . . . . . . . 218 8.3.2 Dijkstra’s . . . . . . . . . . . . . . . . . . . 219 8.3.3  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 8.4 Kruskal’s   . . . . . . . . . . . . . . . . . . . . . . 221 8.4.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 8.4.2  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 9  223 9.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 9.2   . . . . . . . . . . . . . . . . . . . . . . . . . 223 9.2.1 Ú . . . . . . . . . . . . . . . . . . . . . . . . . . 223 9.3 Warshall’s  . . . . . . . . . . . . . . . . . . . . . 224 9.4 ã . . . . . . . . . . . . . . . . . . . . . . 224 9.5   . . . . . . . . . . . . . . . . . . . . . 225 10  y 227 10.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 10.2 ¯ãÚ¦ . . . . . . . . . . . . . . . . . . . . . . 228 10.3 ¯ . . . . . . . . . . . . . . . . . . . . . . . . . 229 10.3.1 ¯ . . . . . . . . . . . . . . . . . . . . . . 229 10.3.2  . . . . . . . . . . . . . . . . . . . . . . . . . . 230 10.3.3  y . . . . . . . . . . . . . . . . . . . . . 230 10.4  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 11  237 11.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 11.2  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 11.3 Knuth-Morris-Pratt . . . . . . . . . . . . . . . . . . . . . . . 237 11.4 Boyer-Moore . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 11.5 C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 12 ‘ªÚ 239 12.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 12.2 ‘ª¼ê . . . . . . . . . . . . . . . . . . . . . . . . . 239 12.2.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 12.2.2 ‘ª . . . . . . . . . . . . . . . . . . . . . . 240 12.2.3   . . . . . . . . . . . . . . . . . . . . . . 240 12.3 Ú . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
CONTENTS vii 12.4 ¯ †ÚòÈ . . . . . . . . . . . . . . . . . . . . . . . . 240 12.4.1 ¯ † . . . . . . . . . . . . . . . . . . . . . . . . 241 12.4.2 òÈ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 12.4.3 êÚ Roots of Unity . . . . . . . . . . . . . 242 13 NP¯ 243 13.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 13.2 PÚNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 13.2.1 ¯ . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 13.2.2 ¯ . . . . . . . . . . . . . . . . . . . . . . . . 244 13.2.3 P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 13.2.4 NP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 13.2.5   . . . . . . . . . . . . . . . . . . . . . . . . . . 252 13.3 NP¯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 13.4 ‘ªPolynomial Reductions . . . . . . . . . . . . . . . . . 254 13.4.1 NP¯ . . . . . . . . . . . . . . . . . . . 254 13.4.2  ¯ . . . . . . . . . . . . . . . . . . . . . 254 13.4.3 z¯Ú¯ . . . . . . . . . . . . . . . . . . . . . 254 13.5 C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 13.6  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 13.7  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 13.7.1  . . . . . . . . . . . . . . . . . . . . . . 256 13.8 ã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 13.8.1  E . . . . . . . . . . . . . . . . . . . . . . . . . 256 13.8.2 Cã  . . . . . . . . . . . . . . . . . . . . . 256 13.8.3 Wigderson’sã  . . . . . . . . . . . . . . . . . . . 256 13.9 TSP ¯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 13.9.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 13.9.2 C . . . . . . . . . . . . . . . . . . . . . . . . . 257 13.9.3  . . . . . . . . . . . . . . . . . . . . . . . . . 257 13.9.4 TSPC . . . . . . . . . . . . . . . . . . . 257 13.10DNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 13.10.1 DNA . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 13.10.2 AdlemanãÚDNA . . . . . . . . . . . . . . . . 258 13.10.3 Ú . . . . . . . . . . . . . . . . . . . . . . . . . . 258 14  259 14.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 14.2 PRAMÚ¦ . . . . . . . . . . . . . . . . . . . . . . . 259
viii CONTENTS 14.2.1 PRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 14.2.2 ¦ . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 14.3 PRAM . . . . . . . . . . . . . . . . . . . . . . . . 260 14.3.1  E . . . . . . . . . . . . . . . . . . . . . . . . . 261 14.4 â . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 14.4.1 n bits or . . . . . . . . . . . . . . . . . . . . . . . 262 14.4.2 ê . . . . . . . . . . . . . 262
分享到:
收藏