Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[1]

работы в этой компании.

Многие наши коллеги использовали предварительные варианты этой книги в своих лекционных курсах, и предложили различные улучшения. Мы хотели бы особенно поблагодарить следующих наших коллег: Richard Beigel (Yale), Andrew Goldberg (Stanford), Joan Lucas (Rutgers), Mark Overmars (Utrecht), Alan Sherman (Tufts, Maryland), Diane Souvaine (Rutgers).

При чтении лекций по материалам этой книги нам помогали наши коллеги, которые внесли много улучшений. Мы особенно признательны: Alan Baratz, Bonnie Berger, Aditi Dhagat, Burt Kaliski, Arthur Lent, Andrew Moulton, Marios Papaefthymiou, Cindy Phillips, Mark Reinhold, Phil Rogaway, Flavio Rose, Arie Rudich, Alan Sherman, Cliff Stein, Susmita Sur, Gregory Troxel, Margaret Tuttle.

Многие люди помогли нам в работе над книгой в разных отношениях: работа в библиотеке (Denise Sergent), гостеприимство в читальном зале (Maria Sensale), доступ к личной библиотеке (Albert Meyer), проверка упражнений и придумывание новых (Shlo-mo Kipnis, Bill Niehaus, David Wilson), составление индекса (Marios Papaefthymiou, Gregory Troxel), техническая помощь (Inna Radzi-hovsky, Denise Sergent, Gayle Sherman, и особенно Be Hubbard).

Многие ошибки обнаружили наши студенты, особенно Bobby Blumofe, Bonnie Eisenberg, Raymond Johnson, John Keen, Richard Lethin, Mark Lillibridge, John Pesaris, Steve Ponzio, Margaret Tuttle.

Многие наши коллеги сообщили нам полезную информацию о конкретных алгоритмах, а также критически прочитали отдельные главы книги; в их числе Bill Aiello, Alok Aggrawal, Eric Bach, Vasek Chvatal, Richard Cole, Johan Hastad, Alex Ishii, David Johnson, Joe Kilian, Dina Kravets, Bruce Maggs, Jim Orlin, James Park, Thane Plambeck, Herschel Safer, Jeff Shallit, Cliff Stein, Gil Strang, Bob Tar-jan, Paul Wang. Многие из них предложили нам задачи для нашей книги, среди них Andrew Goldberg, Danny Sleator, Umesh Vazirani.

Английский оригинал книги был подготовлен с помощью Р/ГХ (макропакет для системы TgX). Рисунки делались на компьютере Apple Macintosh с помощью программы Mac Draw II; мы благодарны за оперативную техническую поддержку в этой области (Joanna Terry, Claris Corporation; Michael Mahoney, Advanced Computer Graphics). Индекс был подготовлен с помощью программы Windex, написанной авторами. Список литературы готовился с помощью программы ВшТеХ. Оригинал-макет английского издания был подготовлен в Американском математическом обществе с помощью фотонаборной машины фирмы Autologic; мы признательны за помощь в этом (Ralph Youngen, Американское математическое общество). Макет разработали: Rebecca Daw, Amy Henderson (реализация макета для системы ЖГ[Х), Jeannet Leendertse (обложка).

Авторы получили большое удовольствие от сотрудничества с издательствами MIT Press (Frank Sallow, Terry Ehling, Larry Cohen,


Lorrie Lejeune) и McGraw-Hill (David Shapiro) и благодарны им за поддержку и терпение, а также замечательное редактирование (Larry Cohen).

Наконец, авторы благодарят своих жён (Nicole Cormen, Lina Lue Leicerson, Gail Rivest) и детей (Ricky, William и Debby Leicerson; Alex и Christopher Rivest) за любовь и поддержку при работе над книгой (Alex Rivest также помог нам с «парадоксом дней рождения на Марсе» (раздел 6.6.1). Любовь, терпение и поддержка наших семей сделали эту книгу возможной; им она и посвящается.

Кембридж,Томас Кормен (Thomas Н. Cormen)

МассачусетсЧарльз Лейзерсон (Charles Е. Leiserson)

март 1990 годаРональд Ривест (Ronald L. Rivest)

От переводчиков:

Мы признательны издательству MIT и авторам за разрешение перевести книгу, и за помощь при подготовке перевода (в том числе за предоставление английского текста книги и иллюстраций в электронной форме). Издание перевода стало возможно благодаря финансовой поддержке Российского фонда фундаментальных исследований (руководитель проекта В.А. Успенский).

В работе над переводом книги участвовала большая группа студентов, аспирантов и сотрудников Московского центра непрерывного математического образования, Независимого Московского университета и МГУ:

К. Белов, Ю. Боравлёв, Д. Ботин, В. Горелик, Д. Дерягин Ю. Калнишкан, А. Катанова, С. Львовский, А. Ромащенко, К. Со-нин, К. Трушкин, М. Ушаков, А. Шень, В. Шувалов, М. Юдашкин (перевод)

A.Акимов, М. Вьюгин, Д. Дерягин, А. Евфимьевский, Ю. Калнишкан, А. Ромащенко, А. Чернов М. Ушаков, А. Шень (редактирование)

B.Радионов (вёрстка) В.В. Ященко (редактор)


1Введение

В этой главе мы разбираем основные понятия и методы, связанные с построением и анализом алгоритмов, на примере двух алгоритмов сортировки - простейшего алгоритма сортировки вставками и более эффективного алгоритма сортировки слиянием.

На этих примерах мы познакомимся с псевдокодом, на котором мы будем записывать алгоритмы, обозначениями для скорости роста функций, методом «разделяй и властвуй» построения алгоритмов, а также с другими понятиями, которые будут встречаться нам на протяжении всей книги.

Алгоритм (algorithm) - это формально описанная вычислитель-

также входом алгоритма или его аргументом, и выдающая результат вычислений на выход (output).

Алгоритмы строятся для решения тех или иных вычислительных задач (computational problems). Формулировка задачи описывает, каким требованиям должно удовлетворять решение задачи, а алгоритм, решающий эту задачу, находит объект, этим требованиям удовлетворяющий.

В этой главе мы рассматриваем задачу сортировки (sorting problem); помимо своей практической важности эта задача служит удобным примером для иллюстрации различных понятий и методов. Она описывается так:

Вход: Последовательность п чисел (ai, 0,2, , ап).

Выход: Перестановка (al5 а2,..., ап) исходной последовательности, для которой at а2 ... ап.

Например, получив на вход (31,41,59,26,41,58), алгоритм сортировки должен выдать на выход (26,31,41,41,58,59).

Подлежащая сортировке последовательность называется входом (instance) задачи сортировки.

1.1. Алгоритмы

ная процедура, получающая исходные данные



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120] [стр.121] [стр.122] [стр.123] [стр.124] [стр.125] [стр.126] [стр.127] [стр.128] [стр.129] [стр.130] [стр.131] [стр.132] [стр.133] [стр.134] [стр.135] [стр.136] [стр.137] [стр.138] [стр.139] [стр.140] [стр.141] [стр.142] [стр.143] [стр.144] [стр.145] [стр.146] [стр.147] [стр.148] [стр.149] [стр.150] [стр.151] [стр.152] [стр.153] [стр.154] [стр.155] [стр.156] [стр.157] [стр.158] [стр.159] [стр.160] [стр.161] [стр.162] [стр.163] [стр.164] [стр.165] [стр.166] [стр.167] [стр.168] [стр.169] [стр.170] [стр.171] [стр.172] [стр.173] [стр.174] [стр.175] [стр.176] [стр.177] [стр.178] [стр.179] [стр.180] [стр.181] [стр.182] [стр.183] [стр.184] [стр.185] [стр.186] [стр.187] [стр.188] [стр.189] [стр.190] [стр.191] [стр.192] [стр.193] [стр.194] [стр.195] [стр.196] [стр.197] [стр.198] [стр.199] [стр.200] [стр.201] [стр.202] [стр.203] [стр.204] [стр.205] [стр.206] [стр.207] [стр.208] [стр.209] [стр.210] [стр.211] [стр.212] [стр.213] [стр.214] [стр.215] [стр.216] [стр.217] [стр.218] [стр.219] [стр.220] [стр.221] [стр.222] [стр.223] [стр.224] [стр.225] [стр.226] [стр.227] [стр.228] [стр.229] [стр.230] [стр.231] [стр.232] [стр.233] [стр.234] [стр.235] [стр.236] [стр.237] [стр.238] [стр.239] [стр.240] [стр.241] [стр.242] [стр.243] [стр.244] [стр.245] [стр.246] [стр.247] [стр.248] [стр.249] [стр.250] [стр.251] [стр.252] [стр.253] [стр.254] [стр.255] [стр.256] [стр.257] [стр.258] [стр.259] [стр.260] [стр.261] [стр.262] [стр.263] [стр.264] [стр.265] [стр.266] [стр.267] [стр.268] [стр.269] [стр.270] [стр.271] [стр.272] [стр.273] [стр.274] [стр.275] [стр.276] [стр.277] [стр.278] [стр.279] [стр.280] [стр.281] [стр.282] [стр.283] [стр.284] [стр.285] [стр.286] [стр.287] [стр.288] [стр.289] [стр.290] [стр.291] [стр.292] [стр.293] [стр.294]