
- •Технология разработки программных систем (у10)
- •Алгоритм линейного поиска в одномерном массиве. Зависимость затрат на линейный поиск в среднем и в худшем случае от числа элементов массива. Улучшение линейного поиска: поиск с барьером.
- •Алгоритм двоичного поиска в одномерном отсортированноммассиве. Зависимость затрат на двоичный поиск в среднем и в худшем случае от числа элементов массива.
- •Последовательная и связанная память. Представление линейных списков в последовательной и связанной памяти. Достоинства и недостатки того и другого представления.
- •Операции, выполняемые со стеком, очередью и деком. Дек с ограниченным выходом и полный дек. Структуры данных, используемые для реализации стека, очереди, дека.
- •Понятие обхода дерева. Виды обходов двоичного дерева. Определение структуры двоичного дерева по двум заданным обходам. Рекурсивные алгоритмы обходов двоичных деревьев.
- •Деревья поиска. Алгоритм построения дерева поиска. Алгоритм поиска заданного значения в дереве поиска. Использование деревьев поиска для сортировки данных.
- •Деревья поиска. Алгоритм исключения узла из дерева поиска.
- •Понятие программного обеспечения, тенденции развития программного обеспечения
- •Стратегии разработки программного обеспечения
- •Основные принципы ооп
- •Принципы отладки программных систем
- •Обобщенные и элементарные критерии качества программного обеспечения.
- •Организация коллективов программистов и разработчиков.
- •Тестирование программного обеспечения. Автономное и комплексное тестирование.
- •Понятие класса и объекта. Конструкторы и деструкторы.
- •Статические и виртуальные методы.
Технология разработки программных систем (у10)
Алгоритм линейного поиска в одномерном массиве. Зависимость затрат на линейный поиск в среднем и в худшем случае от числа элементов массива. Улучшение линейного поиска: поиск с барьером.
См. 681.3 В52Вирт Н. Алгоритмы и структуры данных. - СПб.: Невский диалект, 2001,стр. 63-65
См. 681.3 К53 Кнут Д. Искусство Программирования. Т.3. Сортировка и поиск. - М. Вильямс, 2003, стр. 430
ПЛАН ОТВЕТА
Задача поиска данных в списке. Определение массива. Алгоритм поиска в списке, представленном неупорядоченным массивом (блок-схема, псевдокод или фрагмент кода программы). Среднее и максимальное количество сравнений для поиска. Снижение объема действий введением предопределенного значения в список (барьера). Примеры.
Алгоритм двоичного поиска в одномерном отсортированноммассиве. Зависимость затрат на двоичный поиск в среднем и в худшем случае от числа элементов массива.
См. 681.3 В52Вирт Н. Алгоритмы и структуры данных. - СПб.: Невский диалект, 2001, стр. 65-67, стр.239, 261
См. 681.3 К53 Кнут Д. Искусство Программирования. Т.3. Сортировка и поиск. - М. Вильямс, 2003, стр. 446
ПЛАН ОТВЕТА
Задача поиска данных в списке. Определение массива. Алгоритм двоичного поиска в списке, представленном упорядоченным (по возрастанию) массивом (блок-схема, псевдокод или фрагмент кода программы). Среднее и максимальное количество сравнений для поиска. Примеры.
Последовательная и связанная память. Представление линейных списков в последовательной и связанной памяти. Достоинства и недостатки того и другого представления.
См. распечатку "ГЭ-У2_Распечатки"
См. 681.3 К53Кнут Д. Искусство Программирования Т.1. Вильямс, 2002, стр. 295-299, 283-285
ПЛАН ОТВЕТА
Понятие динамической структуры данных. Понятие линейного списка. Примеры представления линейного списка в последовательной и связанной памяти. Задачи сохранения и поиска данных в линейном списке. Блок-схема, фрагмент программы или псевдокод алгоритмов поиска, включения и удаления элемента в списке, представленном в последовательной (массив) и связанной (через указатели) памяти. Затраты на вычисления и хранение. Примеры.
Операции, выполняемые со стеком, очередью и деком. Дек с ограниченным выходом и полный дек. Структуры данных, используемые для реализации стека, очереди, дека.
См. распечатку "ГЭ-У2_Распечатки"
См. 519 П68 Прайс Д. Программирование на языке Паскаль.-М.:Мир,1987. Стр. 178-183
См. 681.3 К53 Кнут Д. Искусство Программирования. Т.1. Основные алгоритмы. - М. Вильямс, 2002, [по предметному указателю]
См. 681.3 П16 Ильинский Н.И., Панферов В.В.. Структуры данных (линейные списки). - М:МИФИ, 1988. Стр. 8-42
Для дека с ограниченным выходом: см. также Кнут Д. Искусство Программирования. Т.1. Основные алгоритмы. - М. Вильямс, 2002, стр. 315
ПЛАН ОТВЕТА
Понятие динамической структуры данных. Понятие линейного списка. Задачи сохранения и выбора данных в линейном списке с доступом к крайним элементам. Определение стека, очереди, дека и примеры их представления в последовательной и связанной памяти. Операции доступа в стеке, очереди, деке (с ограниченным выходом и полном). Примеры блок-схем, фрагментов программ или псевдокодов алгоритмов реализации этих операций при представлении списков в последовательной и/или связанной памяти.
Понятие обхода дерева. Виды обходов двоичного дерева. Определение структуры двоичного дерева по двум заданным обходам. Рекурсивные алгоритмы обходов двоичных деревьев.
См. распечатку "ГЭ-У2_Распечатки"
См. 681.3 В52Вирт Н. Алгоритмы и структуры данных. - СПб.: Невский диалект, 2001,стр. 235-237, 244-245
ПЛАН ОТВЕТА
Понятия дерева, упорядоченного и двоичного (бинарного) дерева. Описание узла двоичного дерева. Задача обхода двоичного дереве. Три основных вида обхода (КЛП, ЛКП, ЛПК). Блок-схемы или псевдокоды рекурсивных алгоритмов обхода двоичного дерева. Примеры. Идея и пример восстановления структуры дерева по двум заданным обходам (например, КЛП и ЛКП).