VB, MS Access, VC++, Delphi, Builder C++ принципы(технология), алгоритмы программирования
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: презентация дипломной работы, отчет по производственной практике
| Добавил(а) на сайт: Памфил.
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата
Глава 9 посвящена, пожалуй, наиболее изучаемой области теории
алгоритмов — сортировке. Алгоритмы сортировки интересны по нескольким
причинам. Во-первых, сортировка — часто встречающаяся задача. Во-вторых, различные алгоритмы сортировок обладают своими сильными и слабыми
сторонами, поэтому не существует одного алгоритма, который показывал бы
наилучшие результаты в любых ситуациях. И, наконец, алгоритмы сортировки
демонстрируют широкий спектр важных алгоритмических методов, таких как
рекурсия, пирамиды, а также использование генератора случайных чисел для
уменьшения вероятности выпадения наихудшего случая.
В главе 10 рассматривается близкая к сортировке тема. После выполнения
сортировки списка, программе может понадобиться найти элементы в нем. В
этой главе сравнивается несколько наиболее эффективных методов поиска
элементов в сортированных списках.
=========xiv
В главе 11 обсуждаются методы сохранения и поиска элементов, работающие
даже быстрее, чем это возможно при использовании деревьев, сортировки или
поиска. В этой главе также описаны некоторые методы хэширования, включая
использование блоков и связных списков, и несколько вариантов открытой
адресации.
В главе 12 описана другая категория алгоритмов — сетевые алгоритмы.
Некоторые из этих алгоритмов, такие как вычисление кратчайшего пути, непосредственно применимы к физическим сетям. Эти алгоритмы также могут
косвенно применяться для решения других задач, которые на первый взгляд не
кажутся связанными с сетями. Например, алгоритмы поиска кратчайшего
расстояния могут разбивать сеть на районы или определять критичные задачи в
расписании проекта.
В главе 13 объясняются методы, применение которых стало возможным благодаря
введению классов в 4-й версии Visual Basic. Эти методы используют объектно-
ориентированный подход для реализации нетипичного для традиционных
алгоритмов поведения.
===================xv
Аппаратные требования
Для работы с примерами вам потребуется компьютер, конфигурация которого
удовлетворяет требованиям для работы программной среды Visual Basic. Эти
требования выполняются почти для всех компьютеров, на которых может
работать операционная система Windows.
На компьютерах разной конфигурации алгоритмы выполняются с различной
скоростью. Компьютер с процессором Pentium Pro с тактовой частотой 2000 МГц
и 64 Мбайт оперативной памяти будет работать намного быстрее, чем машина с
386 процессором и всего 4 Мбайт памяти. Вы быстро узнаете, на что способно
ваше аппаратное обеспечение.
Изменения во втором издании
Самое большое изменение в новой версии Visual Basic — это появление
классов. Классы позволяют рассмотреть некоторые задачи с другой стороны, позволяя использовать более простой и естественный подход к пониманию и
применению многих алгоритмов. Изменения в коде программ в этом изложении
используют преимущества, предоставляемые классами. Их можно разбить на три
категории:
1. Замена псевдоуказателей классами. Хотя все алгоритмы, которые были написаны для старых версий VB, все еще работают, многие из тех, что были написаны с применением псевдоуказателей (описанных во 2 главе), гораздо проще понять, используя классы.
2. Инкапсуляция. Классы позволяют заключить алгоритм в компактный модуль, который легко использовать в программе. Например, при помощи классов можно создать несколько связных списков и не писать при этом дополнительный код для управления каждым списком по отдельности.
3. Объектно-ориентированные технологии. Использование классов также позволяет легче понять некоторые объектно-ориентированные алгоритмы. В главе 13 описываются методы, которые сложно реализовать без использования классов.
Как пользоваться этим материалом
В главе 1 даются общие понятия, которые используются на протяжении всего
изложения, поэтому вам следует начать чтение с этой главы. Вам стоит
ознакомиться с этой тематикой, даже если вы не хотите сразу же достичь
глубокого понимания алгоритмов.
В 6 главе обсуждаются понятия, которые используются в 7, 8 и 12 главах, поэтому вам следует прочитать 6 главу до того, как браться за них.
Остальные главы можно читать в любом порядке.
=============xvi
В табл. 1 показаны три возможных учебных плана, которыми вы можете руководствоваться при изучении материала в зависимости от того, насколько широко вы хотите ознакомиться с алгоритмами. Первый план включает в себя освоение основных методов и структур данных, которые могут быть полезны при разработке вами собственных программ. Второй кроме этого описывает также основные алгоритмы, такие как алгоритмы сортировки и поиска, которые могут понадобиться при написании более сложных программ.
Последний план дает порядок для изучения всего материала целиком. Хотя 7 и 8 главы логически вытекают из 6 главы, они сложнее для изучения, чем следующие главы, поэтому они изучаются несколько позже.
Почему именно Visual Basic?
Наиболее часто встречаются жалобы на медленное выполнение программ, написанных на Visual Basic. Многие другие компиляторы, такие как Delphi,
Visual C++ дают более быстрый и гибкий код, и предоставляют программисту
более мощные средства, чем Visual Basic. Поэтому логично задать вопрос —
«Почему я должен использовать именно Visual Basic для написания сложных
алгоритмов? Не лучше было бы использовать Delphi или C++ или, по крайней
мере, написать алгоритмы на одном из этих языков и подключать их к
программам на Visual Basic при помощи библиотек?» Написание алгоритмов на
Visual Basic имеет смысл по нескольким причинам.
Во-первых, разработка приложения на Visual C++ гораздо сложнее и
проблематичнее, чем на Visual Basic. Некорректная реализация в программе
всех деталей программирования под Windows может привести к сбоям в вашем
приложении, среде разработки, или в самой операционной системе Windows.
Во-вторых, разработка библиотеки на языке C++ для использования в
программах на Visual Basic включает в себя много потенциальных опасностей, характерных и для приложений Windows, написанных на C++. Если библиотека
будет неправильно взаимодействовать с программой на Visual Basic, она также
приведет к сбоям в программе, а возможно и в среде разработки и системе.
В-третьих, многие алгоритмы достаточно эффективны и показывают неплохую
производительность даже при применении не очень быстрых компиляторов, таких, как Visual Basic. Например, алгоритм сортировки подсчетом,
@Таблица 1. Планы занятий
===============xvii
описываемый в 9 главе, сортирует миллион целых чисел менее чем за 2 секунды
на компьютере с процессором Pentium с тактовой частотой 233 МГц. Используя
библиотеку C++, можно было бы сделать алгоритм немного быстрее, но скорости
версии на Visual Basic и так хватает для большинства приложений.
Скомпилированные при помощи 5-й версией Visual Basic исполняемые файлы
сводят отставание по скорости к минимуму.
В конечном счете, разработка алгоритмов на любом языке программирования
позволяет больше узнать об алгоритмах вообще. По мере изучения алгоритмов, вы освоите методы, которые сможете применять в других частях своих
программ. После того, как вы овладеете в совершенстве алгоритмами на Visual
Basic, вам будет гораздо легче реализовать их на Delphi или C++, если это
будет необходимо.
=============xviii
Глава 1. Основные понятия
В этой главе содержатся общие понятия, которые нужно усвоить перед началом
серьезного изучения алгоритмов. Начинается она с вопроса «Что такое
алгоритмы?». Прежде чем углубиться в детали программирования алгоритмов, стоит потратить немного времени, чтобы разобраться в том, что это такое.
Затем в этой главе дается введение в формальную теорию сложности алгоритмов
(complexity theory). При помощи этой теории можно оценить теоретическую
вычислительную сложность алгоритмов. Этот подход позволяет сравнивать
различные алгоритмы и предсказывать их производительность в разных
условиях. В главе приводится несколько примеров применения теории сложности
к небольшим задачам.
Некоторые алгоритмы с высокой теоретической производительностью не слишком
хорошо работают на практике, поэтому в данной главе также обсуждаются
некоторые реальные предпосылки для создания программ. Слишком частое
обращение к файлу подкачки или плохое использование ссылок на объекты и
коллекции может значительно снизить производительность прекрасного в
остальных отношениях приложения.
После знакомства с основными понятиями, вы сможете применять их к
алгоритмам, изложенным в последующих главах, а также для анализа
собственных программ для оценки их производительности и сможете
предугадывать возможные проблемы до того, как они обернутся катастрофой.
Что такое алгоритмы?
Алгоритм – это последовательность инструкций для выполнения какого-либо
задания. Когда вы даете кому-то инструкции о том, как отремонтировать
газонокосилку, испечь торт, вы тем самым задаете алгоритм действий.
Конечно, подобные бытовые алгоритмы описываются неформально, например, так:
Проверьте, находится ли машина на стоянке.
Убедитесь, что машина поставлена на ручной тормоз.
Поверните ключ.
И т.д.
==========1
При этом по умолчанию предполагается, что человек, который будет
следовать этим инструкциям, сможет самостоятельно выполнить множество
мелких операций, например, отпереть и открыть дверь, сесть за руль, пристегнуть ремень, найти ручной тормоз и так далее.
Если же составляется алгоритм для исполнения компьютером, вы не можете
полагаться на то, что компьютер поймет что-либо, если это не описано
заранее. Словарь компьютера (язык программирования) очень ограничен и все
инструкции для компьютера должны быть сформулированы на этом языке. Поэтому
для написания компьютерных алгоритмов используется формализованный стиль.
Интересно попробовать написать формализованный алгоритм для обычных
ежедневных задач. Например, алгоритм вождения машины мог бы выглядеть
примерно так:
Если дверь закрыта:
Вставить ключ в замок
Повернуть ключ
Рекомендуем скачать другие рефераты по теме: доклад по химии, конспект зима.
Категории:
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата