Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Алгоритмы






Введение

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

Предметом изучения курса являются структуры данных и алгоритмы, реализующие эти абстрактные структуры.

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

Цель изучения курса – научить студента строить абстрактные структуры данных, опираясь на простые структуры, используя известные алгоритмы.

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

Все темы курса при изучении иллюстрируются примерами структур данных и алгоритмов, реализованных на языке программирования Turbo Pascal 7.0. Этот язык программирования характеризуется сильной типизацией и наличием богатого набора типов данных, фундаментальных и динамических структур данных, поэтому идеально подходит для разработки программ по алгоритмам, рассматриваемым в рамках данной дисциплины, и их выполнения на ЭВМ.

В результате изучения курса «Структуры и алгоритмы компьютерной обработки данных» студенты должны:

знать:

- стандартные алгоритмы, используемые при решении различных задач;

уметь:

- разрабатывать и улучшать построенные алгоритмы;

- оценивать эффективность алгоритмов;

- строить динамические структуры данных, исходя из простых статических объектов.

владеть:

- различными методами решения задачи сортировки данных;

- рекурсивными методами построения алгоритмов.

Алгоритмы

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

Термин алгоритм используется в компьютерных науках для описания метода решения задачи, пригодного для реализации в виде компьютерной программы.

Большинство представляющих интерес алгоритмов касаются методов организации данных, участвующих в вычислениях. Созданные таким образом объекты называются структурами данных, и они также являются центральными объектами изучения в компьютерных науках. Следовательно, алгоритмы и структуры данных идут рука об руку. Структуры данных нужно изучить, чтобы понять алгоритмы. Простые алгоритмы могут порождать сложные структуры данных и наоборот, сложные алгоритмы могут использовать простые структуры данных.

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

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

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


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал