Главная » Все файлы » Просмотр файлов из архивов » Файлы формата DJVU » Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.)

Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.), страница 10

DJVU-файл Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.), страница 10 Вычислительная сложность алгоритмов (2804): Книга - 5 семестрТ. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.): Вычислительная сложность алгоритмов - DJVU, страница 10 (2802019-05-10СтудИзба

Описание файла

DJVU-файл из архива "Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.)", который расположен в категории "". Всё это находится в предмете "вычислительная сложность алгоритмов" из 5 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр DJVU-файла онлайн

Распознанный текст из DJVU-файла, 10 - страница

Общее правило таково: чем больше количество сортируемых элементов, тем заметнее преимущество сортировки слиянием. Алгоритмы и другие технологии Приведенный выше пример демонстрирует, что алгоритмы, как и аппаратное обеспечение компьютера, представляют собой технологию. Общая производительность системы настолько же зависит от эффективности алгоритма, как и от мощности применяющегося аппаратного обеспечения.

В области разработки алгоритмов происходит такое же быстрое развитие, как и в других компьютерных технологиях. Возникает вопрос, действительно ли так важны алгоритмы, работающие на современных компьютерах, если и так достигнуты выдающиеся успехи в других областях высоких технологий, таких как: ° аппаратное обеспечение с высокими тактовыми частотами, конвейерной обработкой и суперскалярной архитектурой; ° легкодоступные, интуитивно понятные графические интерфейсы (О1Л); ° обьектно-ориентированные системы; ° локальные и глобальные сети. Ответ — да, безусловно. Несмотря на то, что иногда встречаются приложения, которые не требуют алгоритмического наполнения (например, некоторые простые %еЬ-приложения), для большинства приложений определенное алгоритмическое наполнение необходимо.

Например, рассмотрим %еЬ-службу, определяющую, как добраться из одного места в другое (во время написания книги существовало несколько таких служб). В основе ее реализации лежит высокопроизводительное аппаратное обеспечение, графический интерфейс пользователя, глобальная сеть и, возможно, обьекгно-ориентированный подход. Кроме того, для определенных операций, выполняемых данной %еЬ-службой, необходимо использование алгоритмов — например, таких как вычисление квадратных корней (что может потребоваться для определения кратчайшего пути), визуализации карт и интерполяции адресов.

Более того, даже приложение, не требующее алгоритмического наполнения на высоком уровне, сильно зависит от алгоритмов. Ведь известно, что работа приложения зависит от производительности аппаратного обеспечения, а при его разработке применяются разнообразные алгоритмы. Все мы также знаем, что Глава 1. Роль алгоритмов в вычислениях приложение тесно связано с графическим интерфейсом пользователя, а для разработки любого графического интерфейса пользователя требуются алгоритмы.

Вспомним приложения, работающие в сети. Чтобы они могли функционировать, необходимо осуществлять маршрутизацию, которая, как уже говорилось, основана на ряде алгоритмов. Чаще всего приложения составляются на языке, отличном от машинного. Их код обрабатывается компилятором или интерпретатором, которые интенсивно используют различные алгоритмы. И таким примерам нет числа.

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

Знание основных алгоритмов и методов их разработки — одна из характеристик, отличающих умелого программиста от новичка. Располагая современными компьютерными технологиями, некоторые задачи можно решить и без основательного знания алгоритмов, однако знания в этой области позволяют достичь намного большего. Упражнения 1.2-1. Приведите пример приложения, для которого необходимо алгоритмическое наполнение на уровне приложений, и дайте характеристику функций, входящих в состав этих алгоритмов.

1.2-2. Предположим, на одной и той же машине проводится сравнительный анализ реализаций двух алгоритмов сортировки, работающих по методу вставок и по методу слияния. Для сортировки п элементов методом вставок необходимо 8пз шагов, а для сортировки методом слияния — 64п 1б и шагов. При каком значении и время сортировки методом вставок превысит время сортировки методом слияния? 1.2-3. При каком минимальном значении п алгоритм, время работы которого определяется формулой 100пэ, работает быстрее, чем алгоритм, время работы которого выражается как 2", если оба алгоритма выполняются на одной и той же машине? Задачи 1-1. Сравнение времени работы алгоритмов Ниже приведена таблица, строки которой соответствуют различным функциям г" (и), а столбцы — значениям времени $. Определите максимальные значения и, для которых задача может быть решена за время 1, если Часть 1.

Основы 56 предполагается, что время работы алгоритма, необходимое для решения задачи, равно ! (и) микросекунд. Заключительные замечания Имеется множество учебников, посвященных общим вопросам, которые имеют отношение к алгоритмам. К ним относятся книги Ахо (АЬо), Хопкрофта (Норсгой) и Ульмана ((71!шап) [5,6], Бейза (Ваазе) и Ван Гельдера (Уап Ое16ег) [26], Брассарда (Вгаввап1) и Бретли (Вга!1еу) [46,47], Гудрича (Оотг(сЬ) и Тамазии (Татазз1а) [128], Горовица (Ногочч!!х), Сани (БаЬп1) и Раджисекарана (Ка]азекагап) [158], Кингстона (К]пйз!оп) [179], Кнута (Кпи1Ь) [182,183,185], Козена (Кожев) [193], Манбера (МапЬег) [210], Мельхорна (МеЬ1Ьош) [217,218,219], Пурдома (Рип1ош) и Брауна (Вготчл) [252], Рейнгольда (Ке!пйо16), Ньевергельта (Ы!ечегйе1!) и Део (Оео) [257], Седжевика (Яебйев1ск) [269], Скьены (Яс!ела) [280] и Вильфа (%!!1) [315].

Некоторые аспекты разработки алгоритмов, имеющие большую практическую направленность, обсуждаются в книгах Бентли (Веп11еу) [39,40] и Гоннета (Ооппе!) [126]. Обзоры по алгоритмам можно также найти в книгах Напс~ЬооИ о]' ТЬеогепса! Сотршег 5с!елсе, Ро!ите А [302] и СЯС НалйЬооК оп А!8огйЬть алс! ТЬеогу о!'Сотришг!оп [24]. Обзоры алгоритмов, применяющихся в вычислительной биологии, можно найти в учебниках Гасфилда (ОизбеЫ) [136], Певзнера (Речгпег) [240], Сетубала (Бе1иЬа!) и Мейдениса (МеЫап(в) [272], а также Вотермена (9!!а!еппап) [309]. ГЛАВА 2 Приступаем к изучению В этой главе мы ознакомимся с основными понятиями, с помощью которых на протяжении всей книги будет проводиться разработка и анализ алгоритмов. В начале главы исследуется алгоритм сортировки вставками.

Он предназначен для решения задачи сортировки, поставленной в главе 1. Для формулирования алгоритмов мы используем псевдокод (который должен быть понятен читателям, имеющим опыт программирования). Для каждого алгоритма обосновывается его корректность и анализируется время работы. В ходе анализа указанного алгоритма вводятся обозначения, используемые для указания зависимости времени работы алгоритма от количества сортируемых элементов. После обсуждения сортировки вставками описывается метод декомпозиции, основанный на принципе "разделяй и властвуй". Этот подход используется для разработки различных алгоритмов; в данном случае с его помощью будет сформулирован алгоритм, получивший название сортировки слиянием.

В конце главы анализируется время работы этого алгоритма сортировки. 2.1 Сортировка вставкой Наш первый алгоритм, алгоритм сортировки методом вставок, предназначен для решения задачи сортировки (зогйпд ргоЫеш), сформулированной в главе 1. Приведем еще раз эту формулировку. Вход: последовательность из и чисел (ам аз,...,а ).

Выход: перестановка (изменение порядка) (ама~з,...,а'„) входной последовательности таким образом, что для ее членов выполняется соотношение а' <а' < <а'„. 58 Часть 1. Основы Рнс. 2.1. Сортировка карт методом вставок Сортируемые числа также известны под названием ключи (кеуз). В этой книге алгоритмы обычно описываются в виде псевдокода, который во многих отношениях похож на языки программирования С, Рааса! и 1ача. Тем, кто знаком хотя бы с одним из этих языков, не потребуется много усилий на чтение алгоритмов. От обычного кода псевдокод отличается тем, что он выразителен, а также лаконично, точно и понятно описывает алгоритм.

Иногда в качестве такового выступает литературный язык, поэтому не удивляйтесь, если в инструкции "настоящего" кода встретите обычную фразу или предложение. Другое различие между псевдокодом и обычным кодом заключается в том, что в псевдокоде, как правило, не рассматриваются некоторые вопросы, которые приходится решать разработчикам программного обеспечения. Такие вопросы, как абстракция данных, модульность и обработка ошибок часто игнорируются, чтобы более выразительно передать суть, заложенную в алгоритме.

Наше изучение алгоритмов начинается с рассмотрения сортяироаки встиавюй (шзеп1оп зоп). Этот алгоритм эффективно работает при сортировке небольшого количества элементов. Сортировка вставкой напоминает способ, к которому прибегают игроки для сортировки имеющихся на руках карт. Пусть вначале в левой руке нет ни одной карты, и все они лежат на столе рубашкой вверх. Далее со стола берется по одной карте, каждая из которых помещается в нужное место среди карт, которые находятся в левой руке.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее