1. Решите задачу нахождения всех анаграмм одного слова. Как бы вы ее решили, если бы вам дали только это слово и словарь? Что, если бы у вас была возможность обработать словарь, прежде чем искать анаграммы?
2. Дан последовательный файл, содержащий 4 300 ООО ООО 32-битных целых чисел. Как найти целое число, которое встречается дважды?
3. Мы кратко упомянули о двух алгоритмах циклического сдвига массива, требовавших аккуратного кодирования. Реализуйте их. Как в этих программах используется наибольший общий делитель i и п?
4. Несколько читателей обратили внимание на то, что, хотя все три предложенных алгоритма работают за время, пропорциональное п, алгоритм обмена (см. раздел 2.3) оказывается примерно вдвое быстрее алгоритма реверсирования: он сохраняет во временный файл и возвращает обратно каждый элемент лишь один раз, в то время как алгоритм реверсирования делает это дважды. Поэкспериментируйте с функциями, чтобы проверить скорость их работы на реальных машинах; при этом обязательно нужно учитывать, к какой области памяти происходит обращение.
5. Функции сдвига массива меняют ab на Ьа. Как бы вы преобразовали вектор abc к виду cba? Эта задача моделирует обмен областей памяти, не прилегающих друг к другу.
В конце 70-х в лабораториях Белл была разработана программа «Справочной службы, управляемой пользователем», которая позволяла предпринимателям находить номера в телефонном справочнике, используя стандартный телефон с кнопочным набором (рис. 2.4).
Опубликовал vovan666
April 16 2013 23:34:54 ·
0 Комментариев ·
15707 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.