- •X Предисловие
- •XII Предисловие
- •XVI Содержание
- •XVIII Содержание
- •XX Содержание
- •XXII Содержание
- •1.2. Выражения 17
- •1.2. Выражения 19
- •1.2. Выражения 21
- •1.3. Поток контроля 23
- •1.3. Поток контроля 25
- •1.4. Функции 27
- •1.4. Функции 29
- •1.4. Функции 31
- •1.5. Классы 33
- •1.5. Классы 35
- •1.5. Классы 37
- •1.5. Классы 39
- •1.5. Классы 41
- •1.5. Классы 43
- •1.5. Классы 45
- •1.8. Упражнения 61
- •1.8. Упражнения 63
- •66 Глава 2. Ориентированный на объект дизайн
- •2.1. Цели, принципы и образцы 67
- •68 Глава 2. Ориентированный на объект дизайн
- •2.1. Цели, принципы и образцы 69
- •70 Глава 2. Ориентированный на объект дизайн
- •2.2. Наследование и полиморфизм 71
- •Глава 2. Ориентированный на объект дизайн
- •2.2. Наследование и полиморфизм 73
- •Глава 2. Ориентированный на объект дизайн
- •2.2. Наследование и полиморфизм 75
- •2.2. Наследование и полиморфизм
- •Глава 2. Ориентированный на объект дизайн
- •2.2. Наследование и полиморфизм 79
- •Глава 2. Ориентированный на объект дизайн
- •2.2. Наследование и полиморфизм 81
- •82 Глава 2. Ориентированный на объект дизайн
- •2.2. Наследование и полиморфизм 83
- •Глава 2. Ориентированный на объект дизайн
- •2.2. Наследование и полиморфизм 85
- •2.2. Наследование и полиморфизм 87
- •Глава 2. Ориентированный на объект Дизайн определен как определение типа и коллекция членских функций для этого типа с аргументами в пользу каждой функции, являющейся указанных типов.
- •2.2. Наследование и полиморфизм 89
- •90 Глава 2. Ориентированный на объект дизайн
- •2.3. Шаблоны 91
- •2.4. Исключения 93
- •94 Глава 2. Ориентированный на объект дизайн
- •2.4. Исключения 95
- •2.4. Исключения 97
- •98 Глава 2. Ориентированный на объект дизайн
- •Раздел 2.2.3, чтобы найти 7-ю ценность прогрессии Фибоначчи, которая начинается с 3 и 4 как ее первые две ценности.
- •2.5. Упражнения 99
- •Глава 2. Ориентированный на объект дизайн
- •2.5. Упражнения 101
- •104 Глава 3. Множества, связанные списки и рекурсия
- •3.1. Используя множества 105
- •3.1. Используя множества 107
- •108 Глава 3. Множества, связанные списки и рекурсия
- •3.1. Используя множества 109
- •110 Глава 3. Множества, связанные списки и рекурсия
- •3.1. Используя множества 111
- •112 Глава 3. Множества, связанные списки и рекурсия
- •3.1. Используя множества 113
- •3.1. Используя множества 115
- •Глава 3. Множества, связанные списки и рекурсия
- •3.2. Отдельно связанные списки 117
- •Глава 3. Множества, связанные списки и рекурсия
- •3.2. Отдельно связанные списки 119
- •120 Глава 3. Множества, связанные списки и рекурсия
- •3.2. Отдельно связанные списки 121
- •122 Глава 3. Множества, связанные списки и рекурсия
- •3.3. Вдвойне связанные списки 123
- •124 Глава 3. Множества, связанные списки и рекурсия
- •3.3. Вдвойне связанные списки 125
- •3.3. Вдвойне связанные списки 127
- •Глава 3. Множества, связанные списки и рекурсия
- •3.4. Циркулярные связанные списки и аннулирование списка
- •Глава 3. Множества, связанные списки и рекурсия
- •3.4. Циркулярные связанные списки и аннулирование списка 131
- •Глава 3. Множества, связанные списки и рекурсия
- •3.4. Циркулярные связанные списки и аннулирование списка 133
- •134 Глава 3. Множества, связанные списки и рекурсия
- •3.5. Рекурсия 135
- •136 Глава 3. Множества, связанные списки и рекурсия
- •3.5. Рекурсия 137
- •Глава 3. Множества, связанные списки и рекурсия
- •3.5. Рекурсия 139
- •140 Глава 3. Множества, связанные списки и рекурсия
- •3.5. Рекурсия 141
- •142 Глава 3. Множества, связанные списки и рекурсия
- •3.5. Рекурсия 143
- •144 Глава 3. Множества, связанные списки и рекурсия
- •3.5. Рекурсия 145
- •Раздел 2.2.3, что Числа Фибоначчи рекурсивно определены следующим образом:
- •Глава 3. Множества, связанные списки и рекурсия
- •3.5. Рекурсия 147
- •148 Глава 3. Множества, связанные списки и рекурсия
- •3.6. Упражнения
- •Глава 3. Множества, связанные списки и рекурсия
- •3.6. Упражнения 151
- •Глава 3. Множества, связанные списки и рекурсия
- •Глава 4. Аналитические инструменты
- •4.1. Семь функций, используемых в этой книге 155
- •156 Глава 4. Аналитические инструменты
- •4.1. Семь функций, используемых в этой книге 157
- •Глава 4. Аналитические инструменты
- •4.1. Семь функций, используемых в этой книге 159
- •Глава 4. Аналитическое Суждение Инструментов 4.4 (Правила Образца): Учитывая положительные целые числа a, b, и c, мы имеем:
- •162 Глава 4. Аналитические инструменты
- •4.2. Анализ алгоритмов 163
- •164 Глава 4. Аналитические инструменты
- •166 Глава 4. Аналитические инструменты
- •Глава 4. Аналитические инструменты
- •4.2. Анализ алгоритмов 169
- •170 Глава 4. Аналитические инструменты
- •4.2. Анализ алгоритмов
- •172 Глава 4. Аналитические инструменты
- •4.2. Анализ алгоритмов 173
- •174 Глава 4. Аналитические инструменты
- •4.2. Анализ алгоритмов 175
- •176 Глава 4. Аналитические инструменты
- •4.2. Анализ алгоритмов 177
- •178 Глава 4. Аналитические инструменты
- •4.2. Анализ алгоритмов 179
- •180 Глава 4. Аналитические инструменты
- •4.3. Простые методы оправдания 181
- •182 Глава 4. Аналитические инструменты
- •4.3. Простые методы оправдания 183
- •184 Глава 4. Аналитические инструменты
- •4.4. Упражнения
- •186 Глава 4. Аналитические инструменты
- •4.4. Упражнения 187
- •Глава 4. Аналитические инструменты
- •4.4. Упражнения 189
- •Глава 4. Аналитические инструменты
- •4.4. Упражнения 191
- •192 Глава 4. Аналитические инструменты
- •194 Глава 5. Стеки, очереди и Deques
- •5.1. Стеки 195
- •196 Глава 5. Стеки, очереди и Deques
- •5.1. Стеки 197
- •Глава 5. Стеки, очереди и Deques
- •5.1. Стеки 199
- •Глава 5. Стеки, очереди и Deques
- •5.1. Стеки 201
- •Глава 5. Стеки, очереди и Deques
- •5.1. Стеки 203
- •204 Глава 5. Стеки, очереди и Deques
- •5.1. Стеки 205
- •Глава 5. Стеки, очереди и Deques
- •5.1. Стеки 207
- •5.2. Очереди
- •5.2. Очереди 211
- •Глава 5. Стеки, очереди и Deques
- •5.2. Очереди 213
- •Глава 5. Стеки, Очереди и Deques как фронт очереди и фронт круглого списка как задняя часть очереди?)
- •5.2. Очереди
- •Глава 5. Стеки, очереди и Deques
- •5.3. Симметричные очереди 217
- •218 Глава 5. Стеки, очереди и Deques
- •5.3. Симметричные очереди 219
- •220 Глава 5. Стеки, очереди и Deques
- •5.3. Симметричные очереди 221
- •Глава 5. Стеки, очереди и Deques
- •5.4. Упражнения
- •Глава 5. Стеки, очереди и Deques
- •5.4. Упражнения
- •Глава 5. Стеки, очереди и Deques
- •228 Глава 6. Список и Iterator adTs
- •6.1. Векторы 229
- •Глава 6. Список и Iterator adTs элемент, чей индекс I списка в индексе I во множестве a. (См. Рисунок 6.1.)
- •6.1. Векторы 231
- •232 Глава 6. Список и Iterator adTs
- •6.1. Векторы 233
- •Глава 6. Список и Iterator adTs
- •6.1. Векторы 235
- •236 Глава 6. Список и Iterator adTs
- •6.1. Векторы 237
- •238 Глава 6. Список и Iterator adTs
- •6.2. Списки 239
- •6.2. Списки 241
- •6.2. Списки
- •Глава 6. Список и Iterator adTs
- •6.2. Списки
- •246 Глава 6. Список и Iterator adTs
- •6.2. Списки
- •Глава 6. Список и Iterator adTs
- •6.2. Списки
- •250 Глава 6. Список и Iterator adTs
- •6.2. Списки
- •252 Глава 6. Список и Iterator adTs
- •6.2. Списки
- •6.3. Последовательности 255
- •6.3. Последовательности 257
- •Глава 6. Список и Iterator adTs
- •6.4. Тематическое исследование: вид пузыря на последовательности 259
- •Глава 6. Список и Iterator adTs
- •6.4. Тематическое исследование: вид пузыря на последовательности 261
- •262 Глава 6. Список и Iterator adTs
- •6.5. Упражнения 263
- •Глава 6. Список и Iterator adTs
- •6.5. Упражнения 265
- •268 Глава 7. Деревья
- •7.1. Общие деревья 269
- •270 Глава 7. Деревья
- •7.1. Общие деревья 271
- •272 Глава 7. Деревья
- •7.1. Общие деревья 273
- •274 Глава 7. Деревья
- •7.2. Алгоритмы пересечения дерева 275
- •276 Глава 7. Деревья
- •7.2. Алгоритмы пересечения дерева 277
- •278 Глава 7. Деревья
- •7.2. Алгоритмы пересечения дерева 279
- •Глава 7. Деревья
- •7.2. Алгоритмы пересечения дерева 281
- •282 Глава 7. Деревья
- •7.2. Алгоритмы пересечения дерева 283
- •284 Глава 7. Деревья
- •7.3. Двоичные деревья 285
- •7.3. Двоичные деревья 287
- •288 Глава 7. Деревья
- •7.3. Двоичные деревья 289
- •Глава 7. Деревья
- •7.3. Двоичные деревья 291
- •292 Глава 7. Деревья
- •7.3. Двоичные деревья 293
- •Глава 7. Деревья
- •7.3. Двоичные деревья
- •Глава 7. Деревья
- •7.3. Двоичные деревья
- •298 Глава 7. Деревья
- •7.3. Двоичные деревья 299
- •300 Глава 7. Деревья
- •7.3. Двоичные деревья 301
- •302 Глава 7. Деревья
- •7.3. Двоичные деревья 303
- •7.3. Двоичные деревья 305
- •306 Глава 7. Деревья
- •7.3. Двоичные деревья 307
- •Глава 7. Деревья
- •7.3. Двоичные деревья 309
- •310 Глава 7. Деревья
- •7.4. Упражнения 311
- •Глава 7. Деревья
- •7.4. Упражнения 313
- •Глава 7. Деревья
- •7.4. Упражнения
- •Глава 7. Деревья c-7.24 Позволяют t быть деревом с n узлами. Определите самого низкого общего предка (lca)
- •7.4. Упражнения 317
- •Глава 7. Деревья p-7.9 разрезание floorplan являются разложением прямоугольника с горизонтальным и
- •7.4. Упражнения 319
- •320 Глава 7. Деревья
- •Глава 8. Кучи и приоритетные очереди
- •8.1. Приоритетный тип данных резюме очереди 323
- •324 Глава 8. Кучи и приоритетные очереди
- •8.1. Приоритетный тип данных резюме очереди 325
- •Глава 8. Кучи и приоритетные очереди
- •8.1. Приоритетный тип данных резюме очереди
- •8.1. Приоритетный тип данных резюме очереди 329
- •Глава 8. Кучи и приоритетные очереди
- •8.2. Осуществление приоритетной очереди со списком 331
- •Глава 8. Кучи и приоритетные очереди
- •8.2. Осуществление приоритетной очереди со списком 333
- •Глава 8. Кучи и приоритетные очереди
- •8.2. Осуществление приоритетной очереди со списком 335
- •336 Глава 8. Кучи и приоритетные очереди
- •8.3. Кучи 337
- •338 Глава 8. Кучи и приоритетные очереди
- •8.3. Кучи 339
- •Глава 8. Кучи и приоритетные очереди
- •8.3. Кучи 341
- •Глава 8. Кучи и приоритетные очереди
- •8.3. Кучи 343
- •Глава 8. Кучи и приоритетные очереди
- •8.3. Кучи 345
- •Глава 8. Кучи и Приоритет Стоят в очереди в t, пока никакое нарушение собственности заказа кучи не происходит. (См. Figures8.7 (e) и (h).)
- •8.3. Кучи 347
- •348 Глава 8. Кучи и приоритетные очереди
- •8.3. Кучи 349
- •Глава 8. Кучи и приоритетные очереди
- •8.3. Кучи 351
- •Глава 8. Кучи и приоритетные очереди
- •8.3. Кучи 353
- •354 Глава 8. Кучи и приоритетные очереди
- •8.3. Кучи 355
- •Глава 8. Кучи и приоритетные очереди
- •8.4. Приспосабливаемые приоритетные очереди 357
- •358 Глава 8. Кучи и приоритетные очереди
- •8.4. Приспосабливаемые приоритетные очереди 359
- •360 Глава 8. Кучи и приоритетные очереди
- •8.5. Упражнения
- •Глава 8. Кучи и приоритетные очереди
- •8.5. Упражнения 363
- •Глава 8. Кучи и Приоритетные Очереди, c-8.10 Описывают последовательность n вставок к куче, которая требуетw (n регистрируют n), время
- •8.5. Упражнения 365
- •368 Глава 9. Хеш-таблицы, карты и списки пропуска
- •9.1. Карты 369
- •Глава 9. Хеш-таблицы, Карты и карта Списков Пропуска. Мы можем перечислить все записи карты m, инициализировав p к m.Begin () и затем неоднократно увеличивая p, пока это не равно m.End ().
- •9.1. Карты
- •Глава 9. Хеш-таблицы, карты и списки пропуска
- •9.1. Карты 373
- •Глава 9. Хеш-таблицы, карты и списки пропуска
- •376 Глава 9. Хеш-таблицы, карты и списки пропуска
- •382 Глава 9. Хеш-таблицы, карты и списки пропуска
- •386 Глава 9. Хеш-таблицы, карты и списки пропуска
- •Глава 9. Хеш-таблицы, карты и списки пропуска
- •390 Глава 9. Хеш-таблицы, карты и списки пропуска
- •394 Глава 9. Хеш-таблицы, карты и списки пропуска
- •9.3. Заказанные карты 395
- •9.3. Заказанные карты 397
- •9.3. Заказанные карты 399
- •400 Глава 9. Хеш-таблицы, карты и списки пропуска
- •9.3. Заказанные карты 401
- •402 Глава 9. Хеш-таблицы, карты и списки пропуска
- •9.4. Пропустите списки 403
- •Глава 9. Хеш-таблицы, карты и списки пропуска
- •9.4. Пропустите списки 405
- •406 Глава 9. Хеш-таблицы, карты и списки пропуска
- •9.4. Пропустите списки 407
- •408 Глава 9. Хеш-таблицы, карты и списки пропуска
- •9.4. Пропустите списки 409
- •Глава 9. Хеш-таблицы, карты и списки пропуска
- •9.5. Словари 411
- •Глава 9. Хеш-таблицы, карты и списки пропуска
- •9.5. Словари 413
- •Глава 9. Хеш-таблицы, карты и списки пропуска
- •9.5. Словари 415
- •Глава 9. Хеш-таблицы, Карты и Списки Пропуска (Вспоминают, что местоположение () теперь возвращает целое число.) Этот подход бежал бы быстро, если бы вход e был сохранен около конца t.
- •9.6. Упражнения
- •Глава 9. Хеш-таблицы, карты и списки пропуска
- •9.6. Упражнения 419
- •Глава 9. Хеш-таблицы, карты и списки пропуска
- •424 Глава 10. Деревья поиска
- •10.1. Деревья двоичного поиска 425
- •426 Глава 10. Деревья поиска
- •10.1. Деревья двоичного поиска 427
- •428 Глава 10. Деревья поиска
- •10.1. Деревья двоичного поиска 429
- •430 Глава 10. Деревья поиска
- •10.1. Деревья двоичного поиска 431
- •10.1. Деревья двоичного поиска 433
- •10.1. Деревья двоичного поиска 435
- •Глава 10. Деревья поиска
- •10.1. Деревья двоичного поиска 437
- •438 Глава 10. Деревья поиска
- •10.2. Деревья avl 439
- •440 Глава 10. Деревья поиска
- •10.2. Деревья avl 441
- •442 Глава 10. Деревья поиска
- •10.2. Деревья avl 443
- •444 Глава 10. Деревья поиска
- •10.2. Деревья avl 445
- •446 Глава 10. Деревья поиска
- •10.2. Деревья avl 447
- •Глава 10. Деревья поиска
- •10.2. Деревья avl 449
- •450 Глава 10. Деревья поиска
- •10.3. Косые деревья 451
- •452 Глава 10. Деревья поиска
- •10.3. Косые деревья 453
- •454 Глава 10. Деревья поиска
- •10.3. Косые деревья 455
- •456 Глава 10. Деревья поиска
- •10.3. Косые деревья 457
- •10.3. Косые деревья 459
- •Глава 10. Деревья поиска
- •10.4. (2,4) Деревья 461
- •462 Глава 10. Деревья поиска
- •10.4. (2,4) Деревья 463
- •Глава 10. Деревья поиска
- •10.4. (2,4) Деревья 465
- •466 Глава 10. Деревья поиска
- •10.4. (2,4) Деревья 467
- •468 Глава 10. Деревья поиска
- •10.4. (2,4) Деревья 469
- •470 Глава 10. Деревья поиска
- •10.4. (2,4) Деревья 471
- •472 Глава 10. Деревья поиска
- •10.5. Красно-черные деревья 473
- •Глава 10. Деревья поиска
- •10.5. Красно-черные деревья 475
- •Глава 10. Случай Деревьев поиска 1: Родной брат w V Темнокожий. (См. Рисунок 10.29.) в этом случае, двойное
- •10.5. Красно-черные деревья 477
- •478 Глава 10. Деревья поиска
- •10.5. Красно-черные деревья 479
- •Глава 10. Деревья поиска
- •10.5. Красно-черные деревья 481
- •Глава 10. Случай Деревьев поиска 2: Родной брат y r Темнокожий, и Оба Ребенка y Темнокожие. (См. Фигу -
- •10.5. Красно-черные деревья 483
- •Глава 10. Случай Деревьев поиска 3: Родной брат y r Красный. (См. Рисунок 10.36.) в этом случае мы выступаем
- •10.5. Красно-черные деревья 485
- •486 Глава 10. Деревья поиска
- •10.5. Красно-черные деревья 487
- •488 Глава 10. Деревья поиска
- •10.5. Красно-черные деревья 489
- •490 Глава 10. Деревья поиска
- •10.5. Красно-черные деревья 491
- •492 Глава 10. Деревья поиска
- •10.6. Упражнения
- •494 Глава 10. Деревья поиска
- •10.6. Упражнения 495
- •Глава 10. Деревья поиска
- •500 Глава 11. Сортировка, наборы и выбор
- •11.1. Вид слияния 501
- •502 Глава 11. Сортировка, наборы и выбор
- •11.1. Вид слияния 503
- •504 Глава 11. Сортировка, наборы и выбор
- •11.1. Вид слияния 505
- •506 Глава 11. Сортировка, наборы и выбор
- •11.1. Вид слияния 507
- •508 Глава 11. Сортировка, наборы и выбор
- •11.1. Вид слияния 509
- •Глава 11. Сортировка, наборы и выбор
- •11.1. Вид слияния 511
- •512 Глава 11. Сортировка, наборы и выбор
- •11.2. Быстрый вид 513
- •514 Глава 11. Сортировка, наборы и выбор
- •11.2. Быстрый вид 515
- •516 Глава 11. Сортировка, наборы и выбор
- •11.2. Быстрый вид 517
- •518 Глава 11. Сортировка, наборы и выбор
- •11.2. Быстрый вид 519
- •520 Глава 11. Сортировка, наборы и выбор
- •11.2. Быстрый вид 521
- •Глава 11. Сортировка, наборы и выбор
- •11.2. Быстрый вид 523
- •Глава 11. Сортировка, наборы и выбор
- •11.2. Быстрый вид 525
- •Глава 11. Сортировка, наборы и выбор
- •11.3. Изучение сортировки алгоритмической линзы 527
- •Глава 11. Сортировка, наборы и выбор
- •11.3. Изучение сортировки алгоритмической линзы 529
- •Глава 11. Сортировка, наборы и выбор
- •11.3. Изучение сортировки алгоритмической линзы 531
- •11.4. Наборы и Структуры Союза/Находить 533
- •Глава 11. Сортировка, наборы и выбор
- •11.4. Наборы и Структуры Союза/Находить 535
- •11.4. Наборы и Структуры Союза/Находить 537
- •538 Глава 11. Сортировка, наборы и выбор
- •11.4. Наборы и Структуры Союза/Находить 539
- •540 Глава 11. Сортировка, наборы и выбор
- •11.4. Наборы и Структуры Союза/Находить 541
- •542 Глава 11. Сортировка, наборы и выбор
- •11.5. Выбор 543
- •544 Глава 11. Сортировка, наборы и выбор
- •11.6. Упражнения
- •Глава 11. Сортировка, Наборы и Выбор Шоу r-11.14, что вероятность, что любой данный входной элемент X принадлежит больше
- •11.6. Упражнения 547
- •11.6. Упражнения 549
- •Глава 12. Последовательности и динамическое программирование
- •12.1. Операции по последовательности 555
- •Глава 12. Последовательности и динамическое программирование
- •12.2. Динамическое программирование 557
- •558 Глава 12. Последовательности и динамическое программирование
- •12.2. Динамическое программирование
- •Глава 12. Последовательности и динамическое программирование
- •12.2. Динамическое программирование 561
- •562 Глава 12. Последовательности и динамическое программирование
- •12.2. Динамическое программирование 563
- •Глава 12. Последовательности и динамическое программирование
- •12.3. Алгоритмы соответствия образца 565
- •566 Глава 12. Последовательности и динамическое программирование
- •12.3. Алгоритмы соответствия образца 567
- •568 Глава 12. Последовательности и динамическое программирование
- •12.3. Алгоритмы соответствия образца 569
- •Глава 12. Последовательности и динамическое программирование
- •12.3. Алгоритмы соответствия образца 571
- •572 Глава 12. Последовательности и динамическое программирование
- •12.3. Алгоритмы соответствия образца 573
- •Глава 12. Последовательности и динамическое программирование
- •12.4. Текстовое сжатие и жадный метод 575
- •576 Глава 12. Последовательности и динамическое программирование
- •12.4. Текстовое сжатие и жадный метод
- •578 Глава 12. Последовательности и динамическое программирование
- •12.5. Попытки 579
- •Глава 12. Последовательности и динамическое программирование
- •12.5. Попытки 581
- •582 Глава 12. Последовательности и динамическое программирование
- •12.5. Попытки 583
- •584 Глава 12. Последовательности и динамическое программирование
- •12.5. Попытки 585
- •586 Глава 12. Последовательности и динамическое программирование
- •12.6. Упражнения
- •Глава 12. Последовательности и динамическое программирование
- •12.6. Упражнения 589
- •Глава 12. Последовательности и Динамическое Программирование c-12.16 Описывают алгоритм для строительства компактного представления a
- •12.6. Упражнения 591
- •Глава 12. Последовательности и Динамическое Программное p-12.10 Орудие поисковая система для страниц небольшого веб-сайта, добавляя
- •594 Глава 13. Алгоритмы графа
- •13.1. Графы 595
- •13.1. Графы 597
- •13.1. Графы 599
- •Глава 13. Алгоритмы графа
- •13.2. Структуры данных для графов
- •602 Глава 13. Алгоритмы графа
- •13.2. Структуры данных для графов 603
- •604 Глава 13. Алгоритмы графа
- •13.2. Структуры данных для графов 605
- •606 Глава 13. Алгоритмы графа
- •13.3. Пересечения графа 607
- •608 Глава 13. Алгоритмы графа
- •13.3. Пересечения графа 609
- •13.3. Пересечения графа 611
- •612 Глава 13. Алгоритмы графа
- •13.3. Пересечения графа 613
- •Глава 13. Алгоритмы графа
- •13.3. Пересечения графа 615
- •Глава 13. Алгоритмы графа
- •13.3. Пересечения графа 617
- •618 Глава 13. Алгоритмы графа
- •13.3. Пересечения графа
- •620 Глава 13. Алгоритмы графа
- •13.3. Пересечения графа 621
- •Глава 13. Алгоритмы графа
- •13.3. Пересечения графа 623
- •624 Глава 13. Алгоритмы графа
- •13.3. Пересечения графа 625
- •626 Глава 13. Алгоритмы графа
- •13.4. Направленные графы 627
- •628 Глава 13. Алгоритмы графа
- •13.4. Направленные графы 629
- •13.4. Направленные графы 631
- •632 Глава 13. Алгоритмы графа
- •13.4. Направленные графы 633
- •Глава 13. Алгоритмы графа
- •13.4. Направленные графы 635
- •636 Глава 13. Алгоритмы графа
- •13.5. Кратчайшие пути 637
- •638 Глава 13. Алгоритмы графа
- •13.5. Кратчайшие пути 639
- •13.5. Кратчайшие пути 641
- •642 Глава 13. Алгоритмы графа
- •13.5. Кратчайшие пути 643
- •644 Глава 13. Алгоритмы графа
- •13.6. Минимальные деревья охвата 645
- •646 Глава 13. Алгоритмы графа
- •13.6. Минимальные деревья охвата 647
- •648 Глава 13. Алгоритмы графа
- •13.6. Минимальные деревья охвата 649
- •650 Глава 13. Алгоритмы графа
- •13.6. Минимальные деревья охвата 651
- •652 Глава 13. Алгоритмы графа
- •13.6. Минимальные деревья охвата 653
- •654 Глава 13. Алгоритмы графа
- •13.7. Упражнения 655
- •Глава 13. Шоу r-13.15 Алгоритмов графа, как изменить псевдокодекс для алгоритма Дейкстры для случая
- •13.7. Упражнения 657
- •Глава 13. Алгоритмы графа
- •13.7. Упражнения 659
- •Глава 13. Сети Graph Algorithms c-13.20 Computer должны избежать единственных пунктов неудачи, то есть, сети
- •13.7. Упражнения 661
- •662 Глава 13. Алгоритмы графа
- •Глава 14. Управление памятью и b-деревья
- •14.1. Управление памятью 667
- •Глава 14. Управление памятью и b-деревья
- •14.1. Управление памятью
- •670 Глава 14. Управление памятью и b-деревья
- •14.1. Управление памятью 671
- •Глава 14. Управление памятью и b-деревья
- •14.2. Внешняя память и кэширование 673
- •674 Глава 14. Управление памятью и b-деревья
- •14.2. Внешняя память и кэширование 675
- •676 Глава 14. Управление памятью и b-деревья
- •14.2. Внешняя память и кэширование 677
- •Глава 14. Управление памятью и b-деревья
- •14.3. Внешний поиск и b-деревья 679
- •680 Глава 14. Управление памятью и b-деревья
- •14.3. Внешний поиск и b-деревья 681
- •682 Глава 14. Управление памятью и b-деревья
- •14.4. Сортировка внешней памяти 683
- •684 Глава 14. Управление памятью и b-деревья
- •14.5. Упражнения
- •Глава 14. Управление памятью и b-деревья
- •Глава 14. Управление памятью и b-деревья
- •692 Приложение a. Полезные математические факты
- •706 Индекс
- •708 Индекс
- •710 Индекс
692 Приложение a. Полезные математические факты
Предложите 12: Если k³ 1 является постоянным целым числом, то
n
i = å1ik -Q (nk+1).
Другое общее суммирование - геометрическая сумма,ån=0 ай, поскольку любой фиксировал реальный я
номер 0 <= 1. Предложите 13:
n n+1
i = 1
å0ai = - 1,
для любого действительного числа 0 <= 1. Предложите 14:
¥
å0ai = 1-1
i =
для любого действительного числа 0 <<1.
Есть также комбинация этих двух стандартных форм, названных линейной экспо -
суммирование nential, у которого есть следующие расширения
Предложите 15: Для 0 <= 1, и n³ 2
n (n+1) (n+2)
.å1iai = a-(n + 1 () 1a-a) 2 + na i =
Энное Гармоническое число Hn определено как
Hn =å 1. n
i=1 я
Предложите 16: Если Hn - энное гармоническое число, то Hn - ln n +Q (1).
Основная вероятность
Мы рассматриваем некоторые основные факты из теории вероятности. Самое основное такой факт
то, что любое заявление о вероятности определено на типовое пространство S, который определен как набор всех возможных исходов из некоторого эксперимента. Мы оставляем условия «результатами» и «экспериментом» неопределенный в любом формальном смысле. Пример 17: Рассмотрите эксперимент, который состоит из результата от звона flip-монета 5 раз. У этого типового пространства есть 25 различных результатов, один для каждого различного заказа возможного flips, который может произойти.
Типовые места могут также быть бесконечными, поскольку следующий пример иллюстрирует.
Приложение A. Полезные математические факты 693
Пример 18: Рассмотрите эксперимент, который состоит из flipping монета до него
подходит головы. Это типовое пространство бесконечно с каждым результатом, являющимся последовательностью меня хвосты, сопровождаемые единственным flip, который подходит головы, поскольку я = 1, 2, 3....
Пространство вероятности - типовое пространство S вместе с PR функции вероятности, который наносит на карту подмножества S к действительным числам в интервале [0, 1]. Это математически захватило понятие вероятности определенного появления «событий». Формально, каждое подмножество S называют событием, и PR функции вероятности, как предполагается, обладает следующими основными свойствами относительно событий, определенных от S:
1. PR (∅) = 0
2. PR (S) = 1
3.PR за 0£ (A)1£, для любогоÍ S
4. Если A, BÍ S иÇ B =∅, то PR (È B) = PR (A) + PR (B)
Два события A и B независимы если
PR (Ç B) = PR (A) PR (B).
Коллекция событийA1, A2..., взаимно независимо если
PR (Ai1 Ç Ai2 Ç ∙ ∙ ∙ Ç Aik) = PR (Ai1) PR (Ai2) PR (Aik).
для любого подмножестваAi1, Ai2..., Aik.
Условная вероятность, что событие имеет место, учитывая событие B обозначена
как PR (A|B), и определен как отношение
PR (Ç B),
PR (B)
предположение, что PR (B)> 0.
Изящный способ иметь дело с событиями с точки зрения случайных переменных. Intu-itively, случайные переменные - переменные, ценности которых зависят от результата некоторого эксперимента. Формально, случайная переменная - функция X, который наносит на карту результаты от некоторого S пространства образца до действительных чисел. Индикатор случайная переменная является a
случайная переменная, которая наносит на карту результаты к набору0, 1. Часто в структуре данных и
анализ алгоритма мы используем случайную переменную X, чтобы характеризовать продолжительность
рандомизированный алгоритм. В этом случае типовое пространство S определено всеми возможными исходами случайных источников, используемых в алгоритме.
В таких случаях мы больше всего интересуемся типичной, средней, или «ожидаемой» ценностью такой случайной переменной. Математическое ожидание случайной переменной X определено как
E (X) =å x PR (X = x),
x
где суммирование определено по диапазону X (который в этом случае принят
быть дискретным).
694
Приложение A. Полезные Математические Факты Предлагают 19 (Линейность Ожидания): Позвольте X, и Y быть два бежал - dom переменные, и позвольте c быть числом. Тогда
E (X +Y) = E (X) + E (Y) и E (cX) = cE (X).
Пример 20: Позвольте X быть случайной переменной, которая назначает результат рулона двух справедливых игр в кости к сумме числа показа точек. Тогда E (X) = 7.
Оправдание: Чтобы оправдать это требование позволяют X1 и X2 быть случайными переменными corre-
sponding к числу точек на каждом умирают. Таким образом, X1 = X2 (то есть, они - два случая той же самой функции), и E (X) = E (X1 + X2) = E (X1) + E (X2). Каждый результат рулона ярмарки умирает, происходит с вероятностью 1/6. Таким образом,
E (Си) = 1 + 2 + 3 + 4 + 5 + 6 = 7,
6666662
поскольку я = 1, 2. Поэтому, E (X) = 7.
Две случайных переменные X и Y независимы если
PR (X = x|Y = y) = PR (X = x), для всех действительных чисел x и y. Предложите 21: Если две случайных переменные X и Y независимы, то
E (XY) = E (X) E (Y).
Пример 22: Позвольте X быть случайной переменной, которая назначает результат рулона двух справедливых игр в кости к продукту числа показа точек. Тогда E (X) = 49/4.
Оправдание: Позвольте X1 и X2 быть случайными переменными, обозначающими число точек
на каждом умирают. Переменные X1 и X2 ясно независимы; следовательно,
E (X) = E (X1X2) = E (X1) E (X2) = (7/2) 2 = 49/4.
Связанные следующие и заключения, которые следуют из него, известны как границы Чернофф.
Предложите 23: Позволенный X быть суммой конечного числа независимого 0/1 бежал -
переменные dom и позволяют µ> 0 быть математическим ожиданием X. Затем дляd> 0
µ
редактор
PR (X> (1 +d) µ) < .
(1 +d) (1+d)
Приложение A. Полезные математические факты 695
Полезные математические методы
Чтобы сравнить темпы роста различных функций, иногда полезно примениться
следующее правило.
Предложите 24 (L'H ˆ Правило tal): Если у нас есть limn® ¥ f (n) = + ¥ и мы opi
имейте limn® ¥ g (n) = + ¥, тогда limn® ¥ f (n)/g (n) = limn® ¥ f′ (n)/g ′ (n), где
f′ (n) и g ′ (n) обозначают производные f (n) и g (n), соответственно.
В получении верхнего или более низкого, направляющегося в суммирование, часто полезно разделиться
суммирование следующим образом
n j n
å1 f (i) =å f (i) + å
f (i).
i = i=1 я = j+1
Другая полезная техника - к связанному сумма интегралом. Если f не - уменьшающий функцию, то, принимая следующие условия определены
f (x) дуплекс.
a-1 Z b+1 i=a a
ZB bf (x) дуплексный£å f (i)£
Есть общая форма отношения повторения, которое возникает в анализе алгоритмов делить-и-побеждать
T (n) = в (n/b) + f (n),
для констант³ 1 и b> 1.
Предложите 25: Позвольте T (n) быть определенным как выше. Тогда:
1. Если f (n) является O (nlogb a-e) для некоторого постоянногоe> 0, то T (n) являетсяQ (nlogb a)
2. Если f (n) являетсяQ (nlogb logk n) для фиксированного неотрицательного целого числа k³ 0, то T (n)
Q (nlogb logk+1 n)
3. Если f (n) являетсяW (nlogb a+e), для некоторого постоянногоe> 0, и если f (n/b)£ c f (n), то
T (n) -Q (f (n))
Это суждение известно как основной метод для характеристики, «делятся и»
завоюйте отношения повторения асимптотически.
Эта страница преднамеренно оставила незаполненный
Библиография
[1] Г. М. Адел'сон-Вел'ский и И. М. Лэндис, «Алгоритм для организации
информация», Doklady Akademii Nauk SSSR, издание 146, стр 263-266, 1962. Английский перевод в советской Математике. Dokl., 3, 1259-1262.
[2] А. Аггаруол и Дж. С. Виттер, «Сложность ввода/вывода сортировки и связанный
проблемы», Commun. ACM, издание 31, стр 1116-1127, 1988.
[3] А. В. Ахо, «Алгоритмы для нахождения образцов в последовательностях», в Руководстве Theoreti-
Информатика cal (Дж. ван Лиувен, редактор), издание A. Алгоритмы и Сложность, стр 255-300, Амстердам: Elsevier, 1990.
[4] А. В. Ахо, Дж. Э. Хопкрофт, и Дж. Д. Ульман, дизайн и анализ компьютера
Алгоритмы. Чтение, Массачусетс: Аддисон-Уэсли, 1974.
[5] А. В. Ахо, Дж. Э. Хопкрофт, и Дж. Д. Ульман, структуры данных и алгоритмы. Читайте -
луг, МА: Аддисон-Уэсли, 1983.
[6] Р. К. Ахуджа, Т. Ль. Маньанти, и Дж. Б. Орлин, сетевые потоки: теория, алгоритмы,
и заявления. Энглвудские утесы, Нью-Джерси: зал Прентис, 1993.
[7] R. Баэса-Yates и Б. Рибейру-Нето, современный информационный поиск. Чтение,
Масса.: Аддисон-Уэсли, 1999.
[8] О. Бэравка, «O jistem problemu minimalnim», Praca Moravske Prirodovedecke
Spolecnosti, издание 3, стр 37-58, 1926. (на чешском языке).
[9] Р. Байер, «Симметричные двойные B-деревья: Структура данных и обслуживание», Протоколы Infor-
matica, издание 1, № 4, стр 290-306, 1972. [10] Р. Байер и Маккрит, «Организация больших заказанных индексов», Сообщают Протоколы.,
издание 1, стр 173-189, 1972. [11] Дж. Л. Бентли, «Программируя жемчуг: Написание правильных программ», Коммуникации
ACM, издание 26, стр 1040-1045, 1983. [12] Дж. Л. Бентли, «Программируя жемчуг: Спасибо, кучи», Коммуникации ACM,
издание 28, стр 245-250, 1985. [13] Г. Боох, Ориентированный на объект Анализ и проектирование с Заявлениями. Редвуд-Сити,
CA: Benjamin/Cummings, 1994. [14] Р. С. Бойер и Дж. С. Мур, «Быстрый алгоритм поиска строки», Коммуникации
из ACM, издания 20, № 10, стр 762-772, 1977. [15] G. Нарукавная повязка, «Крестовый поход за лучшее примечание», Новости SIGACT, издание 17, № 1, стр 60-
64, 1985. [16] Т. Бадд, введение в объектно-ориентированное программирование. Чтение, Массачусетс:
Аддисон-Уэсли, 1991. [17] Т. Бадд, C ++ для Явских программистов. Чтение, Массачусетс: Аддисон-Уэсли, 1999.
698
Библиография
[18] D. Гамбургер, Дж. Р. Гудмен и Г. С. Сохи, «Системы памяти», в Компьютере
Наука и Техническое Руководство (А. Б. Такер младший, редактор), ch. 18, стр 447-461, CRC Press, 1997.
[19] Ль. Карделли и П. Вегнер, «При понимании типов, абстракции данных и polymor-
phism», ACM Вычислительные Обзоры, издание 17, № 4, стр 471-522, 1985. [20] С. Карлссон, «Средний случай заканчивается на heapsort», БИТ, издание 27, стр 2-17, 1987. [21] К. Л. Кларксон, «Линейное программирование в O (n3d2) время», Сообщают. Процесс. Латыш.,
издание 22, стр 21-24, 1986. [22] Р. Коул, «Трудные границы на сложности соответствия образца Бойер-Мура
алгоритм», СИАМСКИЙ Журнал на Вычислении, издании 23, № 5, стр 1075-1091, 1994. [23] Д. Камер, «Повсеместное B-дерево», ACM Comput. Surv., издание 11, стр 121-137, 1979. [24] Т. Х. Кормен, К. Э. Лейсерсон, и Р. Л. Ривест, Введение в Алгоритмы. Кулак -
мост, МА: MIT Press, 1990. [25] Т. Х. Кормен, К. Э. Лейсерсон, Р. Л. Ривест, и К. Стайн, Введение в Algo-
rithms. Кембридж, Массачусетс: MIT Press, 2-й редактор, 2001. [26] М. Крокемор и Т. Лекрок, «Образец, соответствующий и текстовые алгоритмы сжатия»,
в Информатике и Техническом Руководстве (А. Б. Такер младший, редактор), ch. 8, стр 162-202, CRC Press, 1997.
[27] С. А. Демерджиэн старший, «Проектирование программного обеспечения», в Информатике и Разработке
Руководство (А. Б. Такер младший, редактор), ch. 108, стр 2323-2351, CRC Press, 1997. [28] Г. Ди Баттиста, П. Идес, Р. Тамассия и я. Г. Толлис, Рисунок Графа. Верхнее Седло
Река, Нью-Джерси: Прентис Хол, 1999. [29] Э. В. Дейкстра, «Примечание по двум проблемам в связи с графами», Numerische
Mathematik, издание 1, стр 269-271, 1959. [30] Дж. Р. Дрисколл, Х. Н. Гэбоу, Р. Шрэрэмен и Р. Э. Тарджэн, «Смягченные кучи:
альтернатива кучам Фибоначчи с заявлениями быть параллельными вычислению.», Commun. ACM, издание 31, стр 1343-1354, 1988.
[31] S. Даже, Алгоритмы Графа. Потомак, Мэриленд: Computer Science Press, 1979. [32] Р. В. Флойд, «Алгоритм 97: Кратчайший путь», Коммуникации ACM, издания 5,
№ 6, p. 345, 1962. [33] R. W. Флойд, «Алгоритм 245: Treesort 3», Коммуникации ACM, издания 7,
№ 12, p. 701, 1964. [34] M. L. Фредмен и Р. Э. Тарджэн, «кучи Фибоначчи и их использование в улучшенной сети -
алгоритмы оптимизации работы», J. ACM, издание 34, стр 596-615, 1987. [35] E. Гамма, R. Руль, Р. Джонсон, и Дж. Влиссайдс, Шаблоны: Элементы
Повторно используемое ориентированное на объект программное обеспечение. Чтение, Массачусетс: Аддисон-Уэсли, 1995. [36] утра гиббоны, алгоритмическая теория графов. Кембридж, Великобритания: Кембриджский университет
Нажмите, 1985. [37] Г. Х. Гоннет и R. Баэса-Yates, руководство алгоритмов и структур данных в
Паскаль и C. Чтение, Массачусетс: Аддисон-Уэсли, 1991. [38] Г. Х. Гоннет и Дж. Ай. Манро, «Сваливает кучи в кучу», СИАМСКИЙ Журнал на Вычислении,
издание 15, № 4, стр 964-971, 1986. [39] М. Т. Гудрич, M. Удобный, Б. Хадсон и Р. Тамассия, «Получая доступ к внутреннему
организация структур данных в библиотеке JDSL», в Proc. Семинар по Разработке Algo-rithm и Экспериментированию (М. Т. Гудрич и К. К. Макджоч, редакторы), издание 1619 Примечаний Лекции Компьют. Наука, стр 124-139, Спрингер-Верлэг, 1999.
Библиография 699
[40] M. T. Гудрич, J.-J. Tsay, Д. Э. Венгрофф и Дж. С. Виттер, «внешняя память
вычислительная геометрия», в Proc. 34-й Annu. IEEE Sympos. Найденный. Comput. Наука, стр 714-723, 1993.
[41] Р. Л. Грэм и P. Черт, «На истории минимальной проблемы дерева охвата»,
Летопись Истории Вычисления, издания 7, № 1, стр 43-57, 1985. [42] Л. Дж. Гуибас и Р. Седгьюик, «Двуцветная структура для сбалансированных деревьев», в
Proc. 19-й Annu. IEEE Sympos. Найденный. Компьют. Наука, Примечания Лекции Компьют. Наука, стр 8-21, Спрингер-Верлэг, 1978.
[43] Ы. Гуревич, «Что делает O (n) средний?», Новости SIGACT, издание 17, № 4, стр 61-63,
1986. [44] Дж. Хеннесси и Д. Паттерсон, архитектура ЭВМ: количественный подход.
Сан-Франциско: Морган Кофман, 2-й редактор, 1996. [45] К. А. Р. Хоар, «Quicksort», Компьютерный Журнал, издание 5, стр 10-15, 1962. [46] Дж. Э. Хопкрофт и Р. Э. Тарджэн, «Эффективные алгоритмы для манипуляции графа», Com-
munications ACM, издания 16, № 6, стр 372-378, 1973. [47] К. С. Хорштман, Вычисляя Понятия с C ++ Основы. Ney Йорк: Джон Вайли
и Сыновья, 2-й редактор, 1998. [48] Б. Хуан и М. Ленгстон, «Практическое оперативное слияние», Коммуникации
ACM, издание 31, № 3, стр 348-352, 1988. [49] Дж. J´J´, Введение, чтобы быть Параллельными Алгоритмам. Чтение, Массачусетс: Аддисон-Уэсли, aa
1992. [50] В. Джарник, «O jistem problemu minimalnim», Praca Moravske Prirodovedecke
Spolecnosti, издание 6, стр 57-63, 1930. (на чешском языке). [51] Р. Э. Джонс, Сборка мусора: Алгоритмы для Автоматического Динамического Человека Памяти -
agement. John Wiley and Sons, 1996. [52] Д. Р. Каргер, П. Кляйн и Р. Э. Тарджэн, «Рандомизированный линейно-разовый алгоритм, чтобы найти
минимальные деревья охвата», Журнал ACM, издания 42, стр 321-328, 1995. [53] Р. М. Карп и В. Рамачандрэн, «Параллельные алгоритмы для мамы совместно используемой памяти -
ущелья», в Руководстве Теоретической Информатики (Дж. ван Лиувен, редактор), стр 869-941, Амстердам: Elsevier/The MIT Press, 1990.
[54] П. Киршенхофер и Х. Продингер, «Длина пути случайных списков пропуска», Протоколы
Informatica, издание 31, стр 775-792, 1994. [55] Дж. Клайнберг и Э. Тардос, Дизайн Алгоритма. Чтение, Массачусетс: Аддисон-Уэсли,
2006. [56] Д. Э. Нут, Фундаментальные Алгоритмы, издание 1 Искусства Программирования.
Чтение, Массачусетс: Аддисон-Уэсли, 2-й редактор, 1973. [57] Д. Э. Нут, Сортируя и Ища, издание 3 Искусства Программирования.
Чтение, Массачусетс: Аддисон-Уэсли, 1973. [58] Д. Э. Нут, «Большой омикрон и большая омега и большая тета», в Новостях SIGACT, издании 8,
стр 18-24, 1976. [59] Д. Э. Нут, Фундаментальные Алгоритмы, издание 1 Искусства Программирования.
Чтение, Массачусетс: Аддисон-Уэсли, 3-й редактор, 1997. [60] Д. Э. Нут, Сортируя и Ища, издание 3 Искусства Программирования.
Чтение, Массачусетс: Аддисон-Уэсли, 2-й редактор, 1998. [61] Д. Э. Нут, Дж. Х. Моррис младший и В. Р. Пратт, «Быстрый образец, совпадающий по последовательностям»,
СИАМСКИЙ Журнал на Вычислении, издании 6, № 1, стр 323-350, 1977.
700
Библиография
[62] Дж. Б. Краскэл младший, «На самом коротком поддереве охвата графа и путешествия
проблема продавца», Proc. Amer. Математика. Soc., издание 7, стр 48-50, 1956. [63] Н. Г. Левезон и К. С. Тернер, «Расследование несчастных случаев Therac-25», IEEE
Компьютер, издание 26, № 7, стр 18-41, 1993. [64] Р. Левисс, «Некоторые уроки, извлеченные из истории алгоритма двоичного поиска»,
Компьютерный Журнал, издание 26, стр 154-163, 1983. [65] А. Левитин, «Преподаем мы правильные методы проектирования алгоритма?», в 30-м ACM
SIGCSE Symp. на Образовании Информатики, стр 179-183, 1999. [66] С. Липпман, Существенный C ++. Чтение, Массачусетс: Аддисон-Уэсли, 2000. [67] С. Липпман и Дж. Лэджои, C ++ Учебник для начинающих. Чтение, Массачусетс: Аддисон-Уэсли, 3-й редактор,
1998. [68] Б. Лисков и Дж. Гаттэг, абстракция и спецификация в развитии программы.
Кембридж, Mass./New Йорк: The MIT Press/McGraw-Hill, 1986. [69] Э. М. Маккрит, «Космически-экономичный строительный алгоритм суффиксного дерева», Журнал
из Алгоритмов, издания 23, № 2, стр 262-272, 1976. [70] К. Дж. Х. Макдиармид и Б. А. Рид, «Строя кучи быстро», Журнал Алгоритмов,
издание 10, № 3, стр 352-365, 1989. [71] Н. Мегиддо, «Линейно-разовые алгоритмы для линейного программирования в R3 и связанном prob-
lems», СИАМ Дж. Компьют., издание 12, стр 759-776, 1983. [72] Н. Мегиддо, «Линейное программирование в линейное время, когда измерение фиксировано», J.
ACM, издание 31, стр 114-127, 1984. [73] К. Мехлхорн, Структуры данных и Алгоритмы 1: Сортируя и Поиск, издание 1
из монографий EATCS на теоретической информатике. Гейдельберг, Германия: Спрингер-Верлэг, 1984.
[74] К. Мехлхорн, структуры данных и алгоритмы 2: алгоритмы графа и NP-
Полнота, издание 2 Монографий EATCS на Теоретической Информатике. Hei-delberg, Германия: Спрингер-Верлэг, 1984.
[75] К. Мехлхорн и А. Тсэкэлидис, «Структуры данных», в Руководстве Теоретического Com-
Наука короткой клюшки для гольфа (Дж. ван Лиувен, редактор), издание A. Алгоритмы и Сложность, стр 301 - 341, Амстердам: Elsevier, 1990.
[76] С. Мейерс, Более эффективный C ++. Чтение, Массачусетс: Аддисон-Уэсли, 1996. [77] С. Мейерс, Эффективный C ++. Чтение, Массачусетс: Аддисон-Уэсли, 2-й редактор, 1998. [78] М. Х. Морган, Vitruvius: Десять Книг по Архитектуре. Нью-Йорк: Дувр Publi-
катионы, Inc., 1960. [79] Д. Р. Моррисон, «PATRICIA - практический алгоритм, чтобы восстановить информацию закодировал в
алфавитно-цифровой», Журнал ACM, издания 15, № 4, стр 514-534, 1968. [80] Р. Мотвани и П. Рэгэвэн, Рандомизированные Алгоритмы. Нью-Йорк, Нью-Йорк: Кембридж
Университетское издательство, 1995. [81] Д. Р. Массер и А. Сайни, обучающая программа STL и справочник: C ++ программирование
со Стандартной Библиотекой Шаблона. Чтение, Массачусетс: Аддисон-Уэсли, 1996. [82] Т. Пэпадакис, Дж. Ай. Манро и П. В. Поблет, «Средний поиск и обновление стоят в
пропустите списки», БИТ, издание 32, стр 316-332, 1992. [83] П. В. Поблет, Дж. Ай. Манро и Т. Пэпадакис, «Двучленное преобразование и его appli-
катион к анализу списков пропуска», на Слушаниях европейского Симпозиума по Алгоритмам (ЕКА), стр 554-569, 1995.
[84] Я. Pohl, C ++ Для Программистов C. Чтение, Массачусетс: Аддисон-Уэсли, 3-й редактор, 1999.
Библиография 701
[85] Р. К. Прим, «Самые короткие сети связи и некоторые обобщения», Bell Syst.
Технология. J., издание 36, стр 1389-1401, 1957.
[86] В. Пью, «Пропуск перечисляет: вероятностная альтернатива сбалансированным деревьям», Commun. ACM,
издание 33, № 6, стр 668-676, 1990.
[87] Х. Сэмет, дизайн и анализ пространственных структур данных. Чтение, Массачусетс:
Аддисон-Уэсли, 1990.
[88] Р. Шаффер и Р. Седгьюик, «Анализ heapsort», Журнал Алгоритмов,
издание 15, № 1, стр 76-100, 1993.
[89] Д. Д. Слитор и Р. Э. Тарджэн, «Саморегулирующиеся деревья двоичного поиска», J. ACM, издание 32,
№ 3, стр 652-686, 1985. [90] Г. А. Стивен, Алгоритмы Поиска строки. World Scientific Press, 1994. [91] Б. Страустрап, C ++ Язык программирования. Чтение, Массачусетс: Аддисон-Уэсли,
3 r d редактор, 1 9 9 7.
[92] Р. Тамассия и Г. Лиотта, «Рисунок графа», в Руководстве Дискретных и Compu-
Геометрия tational (Дж. Э. Гудмен и Дж. О'Рурк, редакторы), CRC Press, второй редактор, 2004.
[93] R. Тарьян и У. Вишкин, «Эффективная параллель biconnectivity алгоритм», СИАМ J.
Comput., издание 14, стр 862-874, 1985.
[94] Р. Э. Тарджэн, «Глубина сначала ищет и линейные алгоритмы графа», СИАМСКИЙ Журнал на
Вычисление, издание 1, № 2, стр 146-160, 1972.
[95] Р. Э. Тарджэн, Структуры данных и Сетевые Алгоритмы, издание 44 CBMS-NSF пере -
Ряд Конференции по gional в Прикладной Математике. Филадельфия, Пенсильвания: Общество Промышленной и Прикладной Математики, 1983.
[96] А. Б. Такер младший, информатика и техническое руководство. CRC Press,
1997.
[97] Дж. Д. Ульман, принципы систем базы данных. Потомак, Мэриленд: информатика
Нажмите, 1983.
[98] Дж. ван Лиувен, «Алгоритмы графа», в Руководстве Теоретической Информатики
(Дж. ван Лиувен, редактор), издание A. Алгоритмы и Сложность, стр 525-632, дамба Amster-: Elsevier, 1990.
[99] Дж. С. Виттер, «Эффективный доступ памяти в крупномасштабном вычислении», в Proc. 8-й Sym-
на месте продажи. Theoret. Аспекты Компьют. Наука, Примечания Лекции Компьют. Наука, Спрингер-Верлэг, 1991.
[100] Дж. С. Виттер и В. К. Чен, дизайн и анализ соединенного хеширования. Нью-Йорк:
Издательство Оксфордского университета, 1987. [101] Дж. С. Виттер и П. Флэджолет, «Анализ Среднего случая алгоритмов и структур данных»,
в Алгоритмах и Сложности (Дж. ван Лиувен, редактор), издание A Руководства Тео - retical Информатика, стр 431-524, Амстердам: Elsevier, 1990.
[102] С. Вошол, «Теорема на булевых матрицах», Журнал ACM, издания 9, № 1,
стр 11-12, 1962. [103] Дж. В. Дж. Уильямс, «Алгоритм 232: Heapsort», Коммуникации ACM, издания 7,
№ 6, стр 347-348, 1964. [104] Д. Вуд, Структуры данных, Алгоритмы и Работа. Чтение, Массачусетс: Аддисон -
Уэсли, 1993.
Индекс
выше, 403, 405-407, 419 резюме, 88 абстрактных классов, 88 абстрактных типов данных, viii, 68
d eq u e, 2 1 7 словарей, 411-412 г r AP h, 5 9 4 - 6 0 0 списков, AP на 240-242 м, 3 6 8 - 3 7 2 o r d er редактор m AP, 3 9 4 разделения, приоритетная очередь 538-541, 322-329 q u eu e, 2 0 8 - 2 1 1 последовательность, 255 наборов, стек 533-541, последовательность 195-198, дерево 554-556, вектор 272-273, 228-229
абстракция, 68 (a, b) дерево, 680-682
собственность глубины, 680 собственности размера, 680
управление доступом, 34 спецификатора доступа, 34 функции accessor, 35 фактических аргументов, 28 нециклических, 626 адаптируемости, 66, 67 приспосабливаемых приоритетных очередей, 357 адаптеров, 221 образец адаптера, 220-222 добавляют, 340-345, 348, 364 адреса - 7 addRoot, 291, 292 Adel'son-Vel'skii, 497 списков смежности, 600, 603 матрицы смежности, 600, 605 смежных, 595
702
ADT, посмотрите абстрактный тип данных после, 403, 405, 406 Aggarwal, 687 Ах o, 2 2 6, 2 6 6, 3 2 0, 4 9 7, 5 5 1, 5 9 2 Ahuja, 663 алгоритма, 162 анализа алгоритма, 162-180
средний случай, худший случай 165-166, 166
алфавит, 555 амортизаций, предок 234-235, 538-541, 270, 625 антисимметричных, 323 API, видят прикладное программирование меж -
интерфейс прикладного программирования лица, 87, 196 площадей c, 5 9 4 Архимеда, 162 лет, 192 аргумента
фактический, 28 формальных, 28
Ариадн, 607 множеств, 8-9, 104-116
матрица, 112 двумерных, 111-116
выстройте список, посмотрите векторного оператора назначения, 42 ассоциативных контейнера, 368 ассоциативных магазинов, 368 асимметричных, 595 асимптотических анализов, асимптотическое примечание 170-180, 166-170
большая о, большая Омега 167-169, 172-180, 170 большой Теты, 170
t, 2 2 8 - 2 3 0, 3 9 6 atIndex, 255-258, 260 признаков, 611 деревьев AVL, 438-449
Индекс
703
фактор баланса, 446
Boyer, 592
собственность баланса высоты, 438
Нарукавная повязка, 192
поиск типа «сначала вширь», 623-625, 630
назад, 2 1 7, 2 2 0, 5 1 9
пересечение в ширину, 283
b ack редактор g e, 6 0 9, 6 2 9, 6 3 0, 6 5 7
контрольная точка, 59
Баэса-Yates, 497, 551, 592, 687
грубая сила, 564
b ag, 4 2 0
«в лоб», 564
фактор баланса, 446
соответствие образца «в лоб», 564
уравновешенное дерево поиска, 464
B-дерево, 682
Bar˚vka, 661, 663 u
вид пузыря, 259-261, 266
базовый класс, 71
множество ведра, 375
Байер, 687
вид ведра, 528-529
прежде, 403, 405-407, 419
bucketSort, 528
b, например, я n, 2 4 0, 2 4 1, 2 4 5, 2 5 8, 3 3 2, 3 7 0, 3 7 4,
Budd, 64, 102
390, 391, 412, 424, 435, 600
Гамбургер, 687
ниже, 403-405
b y r ef er en ce, 2 9
Бентли, 366, 421
стоимостью, 28
хорошо-пригодный алгоритм, 670
BFS, посмотрите поиск типа «сначала вширь»
C ++, 2-64, 71-97
двусвязный граф, 660
множество, 8-9
большое о примечание, 167-169, 172-180
множества, 104-116
примечание большой омеги, 170
b r eak, 2 4
примечание большой теты, 170
назовите стек, 666-668
двойная рекурсия, 144
кастинг, 20-22, 86-87
двоичный поиск, 300, 395-398
класс, 32-44
дерево двоичного поиска, 424-437
комментарии, 3
вставка, 428-429
константа, 14
удаление, 429 вращений, 442 реструктуризации trinode, 442
двоичное дерево, 284-294, 309, 501
полный, 338, 340-343 полных, 284 неподходящих, 284 оставленных ребенка, 284 уровня, 287 связали структуру, 289-294 надлежащих, 284 правильных ребенка, 284 векторных представления, 295-296
двучленное расширение, 690 биграфов, 661 битовый вектор, 547 блоков, 14 блокирования, 675 Booch, 102 самонастройки, 463
постоянная ссылка, 29, 197, 211, 329 контроля flow, неплатеж 23-26, 24 аргумента по умолчанию, 37, 200 иждивенцев вводят имена, 334 динамических закрепления, 76 исключений, 93-97 выражений, экстерна 16-22, 47 функций, 26-32 фундаментальных типа, глобальный объем 4-7, заголовочный файл 14-15, 48 входов, 19 местных объемов, главную функцию 14-15, 3 распределения памяти, многократное наследование 11-13, 40-42, 84 закрепления имени, 334 продукции, 19
704
Индекс
перегрузка, 30-32
общественность, 34, 74
указатель, 7-8
шаблон, 91
r ef er en ce, 1 3
диаграмма наследования класса, 72
статическое закрепление, 76
оператор объема класса, 73 лет
последовательность, 10
статья o ck, 1 6 3
struct, 10-11
объединение в кластеры, 385
шаблоны, 90-92
кодирование, 53
typename, 334
Капуста, 592
виртуальная печь для сжигания отходов производства, 77 бросков C-стиля, 21 последовательность C-стиля, 10 структур C-стиля, 11 cach e, 6 7 3 линии тайника, 675 алгоритмов кэширования, вызов по значению 676-678, 667 Карделли, 102 лет, 226 Карлссона, 366 бросков, 20 бросков, 20-22
динамичный, 87 явных, 21 неявный, 22 статических, 22
поймайте блоки, 94 функции потолка, 161 ceilingEntry, 394, 396, 399, 401, 410 эвристических скачков характера, 566 Чернофф связал, 551, 694 ребенка, 269 детских классов, 71 ребенок, 269 детей, 272, 274, 277, 279, 286 китайских Теорем Остатка, 63 циркулярных связанных списка, 129, 265 Кларксона, 551 класс, 2, 32-44, 66, 68
абстрактный, конструктор 88-90, 37-39, 75 печей для сжигания отходов производства, 39, 75 друзей, 43 наследования, интерфейс 71-87, 87 участников, 33 членских функции, 35-40 частных, 34, 74 защищенных, 74
резолюция столкновения, 376, резолюция столкновения 382-386, 382 Камера, 687 компараторов, 325 компиляторов, 2 полных двоичных дерева, 338, полный граф 340-343, 657 образцов состава, 369 функций сжатия, 376, 381 условная вероятность, 693 связанных компонента, 598, 610, 625 постоянных функций, 154 конструктора, 33 лет, 37 контейнеров, 236, противоречие 239-240, 247-255, 181 contrapositive, 181 конструктор копии, 37 лет, 42 основной памяти, 673 Cormen, 497, 663 карты CRC, 55 Crochemore, 592 взаимных края, 625, 629, 630 кубических функций, 158 курсоров, 129, 242 цикла, 597
направленный, 597
DAG, посмотрите направленного нециклического участника данных о графе, 33 пакета данных, 265 структур данных, 162
вторичный, 464 отладчика, 59 отладок, 53 дерева решений, 284, 426, 526 образцов декоратора, 611-622 уменьшать-и-побеждать, видят аргументы сливы-и-поиска по умолчанию, 37, 200 конструкторов по умолчанию, 37 лет
Индекс 705
степень, 158, 595 дважды красный, 475 степеней, 610, 644 симметричная очередь, см. Закон deque Деморгэна, 181 двойное хеширование, 385
Demurjian, 102, 226 глубин, глубина 275-277 сначала ищет, 607-621, 629 d eq u e, 2 1 7 - 2 2 0
абстрактный тип данных, 217 внедрений связанного списка, 218-220
dereferencing, 7 потомков, 270, 625 шаблонов, viii, 55, 70
адаптер, амортизация 220-222, грубая сила 234-235, 564 компаратора, состав 324-327, 369 декораторов, 611-622 делить-и-побеждать, 500-504, 513-
514 динамического программирования, жадный метод 557-563, 577 iterator, положение 239-242, слива-и-поиск 239-240, функция шаблона 542-544, метод шаблона 303-308, 535, 616
des t, 6 2 6 мест назначения, 595 печей для сжигания отходов производства, 37, 39, 42 DFS, видит, что глубина сначала ищет Ди Баттисту, 320, 663 диаметра, 316 словарей, 411-412
абстрактный тип данных, диграф 411-412, 626 Дейкстры, алгоритм 663 Дейкстры, направленный нециклический граф 639-644, направленный цикл 633-635, 626 краев открытия, 609, 625, 629, 630 расстояний, 638 методов подразделения 500-504, 513-514, делить-и-побеждать, 381 d - n o d e, 4 6 1 делают - в то время как петля, 24 удваиваются черный, 480
вдвойне связанный список, пузырение вниз-кучи 123-128, 133-134, 346, 355 динамических закреплений, 76 динамических бросков, 87 динамического программирования, 146, 557-563, 631
Eades, 320, 663 редактора g e, 2 7 1, 5 9 4
место назначения, 595 вершин конца, 595 инцидентов, 595 многократных, 596 происхождения, 595 коммуникабельных, 595 параллелей, 596 самопетель, 596
список края, 600 структур списка края, 601 edg es, 5 9 9, 6 0 2, 6 0 4, 6 0 6 редактируют расстояние, 590, 592 el ement, 2 3 9, 2 5 7, 5 0 6, 5 1 9 проблем уникальности элемента, 179 пустых, 195, 197-199, 202, 205, 209, 210,
213, 215, 217, 220, 221, 228, 230, 240, 245, 258, 272, 274, 286, 294, 295, 297, 327-329, 332, 333, 344, 348, 349, 355, 359, 370, 371, 398, 410-412, 424, 431, 445, 472, 487, 519, 551, 635
герметизация, 68 концов, 2 4 0, 2 4 1, 2 4 5, 2 4 7, 2 5 8, 3 7 0, 3 7 1,
374, 382, 389, 390, 392, 394, 396, 401, 411, 412, 414, 424, 434, 435, 533, 600
вершины конца, 595 конечных точек, 595 endVertices, 599, 601, 602, 604, 606, 626 входов, 368 стирают, 228-231, 241, 246, 258, 370-372,
374, 381-384, 395, 398, 401, 407, 408, 410, 412, 415, 416, 418, 424, 428, 429, 431, 444, 445, 472, 487, 494, 495, 681
