- •7. Разработка эффективных алгоритмов: методы «Разделяй и влавствуй» и динамическое программирование.
- •2. Общие принципы код-я информации и формы ее представления в эвм
- •5. Анализ алгоритмов сортировки: обменная сортировка методом «пузырька», метод «простого выбора».
- •17. Анализ алг-мов поиска: послед-ый поиск в неупорядоч .Массиве, бинарный поиск в упорядоч. Массиве.
- •6. Разработка эффективных алгоритмов: методы «Разделяй и влавствуй» и «Балансировки».
- •8. Разработка эффективных алгоритмов: методы жадные алгоритмы. Задача о выборе заявок. Принцип жадного выбора.
- •Задача о выборе заявок
- •9. Алгоритм: содержательный и формализованный подходы к понятию «алгоритм». Свойства алгоритма и способы его описания.
- •10.Линейность, ветвление и цикл. Их реализация в языках программирования.
- •21. Классификация ппо. Текстовые редакторы, издательские системы. Технологии обработки текстовой информации.
- •4. Задача сортировки. Алгоритмы сортировки. Сортировка и индексирование.
- •12. Логические яп. Декларативность программ. Решение логических задач.
- •13. Функц яп. Декларативность прогтамм. Лямбда-исчислениею
- •29. Накопители инф-ции, принципы их действия. Физ. И лог. Стр-ра диска.
- •14. Языки программирования. Основные элементы. Обзор и классификация. Методологии программирования.
- •15. Понятие типа данных. Простые (базовые) типы данных. Ссылочный тип.
- •16. Структурированные типы данных (массивы, записи, множества, файлы)
- •18. Объектно-ориентированное программирование. Инкапсуляция. Наследование. Полиморфизм.
- •19. Программное обеспечение эвм. Операционные системы. Развитие ос. Оболочки ос.
- •20. Программное обеспечение эвм. Сервисные программы (антивирусы, архиваторы, дефрагментаторы, диагностика и отладка).
- •22. Классификация ппо. Табличная организация информации. Табличные модели. Табличные процессоры.
- •11. Подпрограммы. Их реализ. В яп. Рекурсия, модул. Пр-ние
- •23. Классификация ппо. Базы данных. Проектирование баз данных. Субд.
- •25. Реляционная алгебра. Операции над таблицами.
- •26. Эвм как средство обработки информации. Класс-кация эвм. Перспективы раз-ия вт
- •45. Нейр. Сети. Одн. Перцептр. Актив. Ф-ия. Лог. Операц. На основе прст. Перцептр.
- •27. Понятие архитектуры эвм. Центральные устройства эвм, их наз-е и характеристики
- •28. Устройства ввода и вывода информации, их назначения и функции.
- •30. Базовая эталонная модель взаимодействия открытых систем международной организации стандартизации и ее значение в развитии телекоммуникации.
- •Взаимодействие уровней модели osi
- •31. Протоколы общения компьютеров в сети (ip, tcp, udp, ftp, smpt, http, nntp) и интерфейсы. Области взаимодействия открытых сетей.
- •32. Принципы функционирования локальных вычислительных сетей. Основные компоненты и типы лвс. Одноранговые сети. Сети на основе сервера. Комбинированные сети.
- •33. Основные типы кабельных сред передачи данных. Узкополосная и широкополосная передача сигналов. Асинхронная передача и автоподстройка. Сетевой адаптер.
- •34. Беспроводные сети. Передача "точка-точка". Инфракрасные лазерные лвс. Беспроводные лвс с радиопередачей. Мобильные сети.
- •35. Классификация моделей. Моделирование физических процессов. Понятие вычислительного эксперимента, его этапы и фазы. Области применения вычислительного эксперимента.
- •36. Моделирование стохастических систем. Моделирование случайных величин с равномерным распределением. Методы проверки случайности данных.
- •37. Приближенное число. Абсолютная и относительная погрешности. Виды, основные источники, способы устранения погрешностей.
- •38. Решение уравнений методами бисекций и итераций.
- •40. Постан. З-чи интер-ния. Интер-ный многоч. Сплайны.
- •43. Обработка результатов наблюдений. Уточнение параметров методом средних и методом наименьших квадратов.
- •44. Нечеткая логика. Ф. Принадлежности. Ф. Ограничения. Основные операции в нечеткой логике.
- •46. Нейр. Сети. Обуч. С пом-ю алгор. Обр. Распр.
- •54. Алгебра высказываний. Нормальные формы. Совершенные нормальные формы. Теорема существования нормальной формы. Приложение алгебры высказываний к логико-математической практике.
- •47. Знания. Классификация. Экспертные системы. Искусственный интеллект
- •48. Представление знаний (логическая модель, семантические сети, фреймы, продукции).
- •49. Представление задачи оптимизации в канонической, стандартной и матричной форме. Постановка задачи линейного программирования. Математическая модель все типов задач линейного программирования.
- •50. Решение задач линейного программирования графическим методом.
- •1. Система огранич-й представл. В канонич. Видет
- •2. Пусть система огр-ий злп представлена в виде:
- •3. Пусть система ограничений злп представлена в виде
- •52. Элементы теории двойственности. Прямая и двойственная задачи линейного программирования. Основные теоремы двойственности. Применение двойственного симплексного метода.
- •53. Основные понятия теории графов. Степень вершины графа. Ориентированные графы, связные графы и компоненты связности. Понятие взвешенного графа. Способы задания графа.
5. Анализ алгоритмов сортировки: обменная сортировка методом «пузырька», метод «простого выбора».
Алгоритмы сортировки оцениваются по скорости выполнения и эффективности использования памяти:
Время — основной параметр, характеризующий быстродействие алгоритма. Называется также вычислительной сложностью. Для упорядочения важны худшее, среднее и лучшее поведение алгоритма в терминах размера списка (n). Для типичного алгоритма хорошее поведение — это O(n log n) и плохое поведение — это O(n²). Идеальное поведение для упорядочения — O(n). Алгоритмы сортировки, использующие только абстрактную операцию сравнения ключей всегда нуждаются по меньшей мере в O(n log n) сравнениях в среднем;
Память — ряд алгоритмов требует выделения дополнительной памяти под временное хранение данных. При оценке используемой памяти не будет учитываться место, которое занимает исходный массив и независящие от входной последовательности затраты, например, на хранение кода программы.
Метод «Простой выбор». Алгоритм можно представить как повторение (n-1) раз поиска минимума, имеющего сложность O(n). Тогда сложность сортировки равна: (n-1)*(αn+β)=αn2+βn+γ , т.е. имеем O(n2).Или так рассуждаем:В данном алгоритме один цикл вложен в другой и оба цикла зависят от размера одной и той же переменной: Сложность этого алгоритма О(N2), т.е. вся конструкция характеризуется квадратичной сложностью.
Метод «обмена или пузырька». Идея: попарно сравниваются соседние элементы, и если их взаиморасположение не соответствует заданному условию упорядоченности, то сравниваемые элементы меняются местами. В результате одного прохода происходит частичное упорядочение массива, при этом наибольший элемент оказывается на последнем месте (всплывает) и в дальнейшем его не рассматривают. Аналогично,В данном алгоритме один цикл вложен в другой и оба цикла зависят от размера одной и той же переменной: Сложность этого алгоритма О(N2), т.е. вся конструкция характеризуется квадратичной
сложностью.
17. Анализ алг-мов поиска: послед-ый поиск в неупорядоч .Массиве, бинарный поиск в упорядоч. Массиве.
Люб.задача имеет неск-ко алг-мов реш-я. Каждый алг-м нужно проанализ-ть- ск-ко вычислит.ресурсов она требует (время раб, память) и выбрать эф-ый. В качестве критерия оценки алг-ма будем исп-ть такую харак-ку, как «сложность».
Временная сложность алг-ма – это время Т, необх-ое для его вып-ия в зав-ти от исх.д-ых. Оно равно произв-ю числа элем-ых действий k на среднее время вып-ия 1го действия t: T=kt.
Будем говорить, что Т(п) алг-ма имеет порядок роста f(n), или алг-м имеет теоретич. слож-ть O(f(n)) («о большое от f(n)»), если для Т(п) найдется такая константа с, что, начиная с нек-го п0, вып-ся усл-е Т(п) <= cf(n). Здесь предполагается, что функция f(n) неотриц-а, по кр.мере при п>п0. (Здесь n-кол-во д-ых, f-ф-ция от n, T(n)-время вып-ия алг-ма в худшем случае)
Сформ-ем алг-м послед-го поиска в неуп. послед-ти (массиве).
B алг-мах поиска сущ-ет две возм-ти окончания работы: либо поиск оказался удачным, т. е. позволил опред-ть полож-е соот-го эл-та, либо он оказался неудачным, т. е. показал, что необх-го эл-та в дан.объеме инф-ции нет. Пример. Имеется массив а[1..п], треб-ся найти эл-т массива, равный Р.
1)Установить i=1. 2)Если at =Р, алг-м окончен удачно. 3)Увел-ть t на 1. 4)Если i<n, то перейти к ш2. В прот. случае алг-м окончен неудачно.
Слож-ть алг-ов поиска оценивают по числу сравнений эл-тов массива с искомым эл-том. В худшем случае (искомый эл-т Р стоит на последнем месте или отсут-ет) слож-ть алг-ма будет = п.(линейная слож-ть)
Усложним задачу. Пусть треб-ся найти в неуп. массиве max и min эл-ты одновр-о.
1) min = a1 max = а1. 2) Установить i = 1. 3) Если i < n, то перейти к шагу 4, иначе алг-м окончен (min=mах). 4) Увеличить i на 1. 5) Если ai < min, то min:= знач-е аi 6) Если аi > max, то max := знач-е аi. 7) Перейти к 3.
Слож-ть этого алг-ма = 2(n - 1). M. написать алг-м, слож-ть к-го будет =3*(n/2).
Эф-ый алг-м поиска в неуп. массиве max и min эл-ты одновр-о.
1. Разбить массив на пары (получим - n/2 пар, при нечет. n - плюс еще один Эл-т).
2. Упорядочить по возр-ю кажд. пару (при вып-ии этого шага будет вып-о - n/2 сравнений). Тогда в массиве на всех нечет-х местах будет стоять min для данной пары число, а на всех чет. местах - max.
3. Найти min число, осуществляя поиск только среди эл-тов, стоящих на нечет.местах. При этом, если у нас есть неполная пара, то в качестве нач-го знач-я переменной min взять знач-е эл-та неполной пары (при вып-и этого шага будет выполнено n/2 сравнении).
4. Найдем max число, осуществляя поиск только среди эл-тов, стоящих на чет.местах. При этом если у нас есть неполная пара, то в качестве нач-го знач-я переменной max взять знач-е эл-та неполной пары (при вып-и этого шага будет вып-о n/2сравнений).
Всего сравнений в данном алг-ме 3*(n/2).
Пусть треб-ся найти эл-т в большом упор-ом массиве инф-ции, к-ая расположена в операт.памяти комп-а. Для реш-я этой задачи разработан алг-м бинарного (двоичного) поиска.
Одна из наиб. популярных реализаций этого алг-ма исп-ет два указателя (l и u), соот-щие нижней и верхней границам поиска. С пом. этого алг-ма ищется эл-т k в упор-ом по возр-ю массиве а, содержащем n эл-тов.
1. Нач-ая установка: l = 1, и = п.
2. Если и < l, то алг-м окончен неудачно. В прот.случае найти середину интервала [l; и]. В этот момент мы знаем, что если k есть в массиве, то вып-ся нерав-ва al<=k<= аи. Установить i = [(l + u)/2]. Теперь i указ-ет примерно в середину рассм-мой части массива.
3. Если k < ai, то перейти к ш.4, если k > ai то перейти к ш.5, если k = ai алг-м окончен удачно.
4. Установить и = i – 1 и перейти к ш2.
5. Установить l = i + 1 и перейти к ш2.
Шаг 3 алг-ма бинарного поиска вып-ся порядка log2n раз, т.е. данный алг-м имеет логариф-ую слож-ть по числу сравнений.
