- •3. Ооп. Методы, перегрузка, переопределение.
- •4. Ооп. Полиморфизм.
- •5. Методы класса. Конструкторы. Виды конструкторов. Статические методы и поля.
- •6. Понятие сложности алгоритма. Типовые виды алгоритмической сложности.
- •7. Исключения (try, catch, finally).
- •8. Интерфейсы, применение предназначения.
- •9. Generic типы.
- •10. Ограничения Generic типов.
- •12. Структуры данных. Список.
- •11. Структуры данных. Динамический массив.
- •13. Структуры данных. Двунаправленный список.
- •14. Структуры данных. Хеш-таблица.
- •15. Структуры данных. Стек.
- •16. Структуры данных. Очередь.
- •17. Коллекции в c#, описать какие структуры данных реализуют.
- •18. Матрицы преобразований.
- •19. Основы теории графов, что это такое, применение.
- •20. Граф. Способы задания графа.
17. Коллекции в c#, описать какие структуры данных реализуют.
Коллекция– структура данных, обеспечивающая множества … элементов и эффективный доступ к ним.
Способ добавления, хранения и последовательного доступа зависит от поставленной задачи.
Основные интерфейсы коллекций.
Перечисление:IEnumeratorиIEnumerable(перебор элементов последовательности)
Коллекция:ICollectionиICollection<T> (базовый для всех коллекций)
Список:IListиIList<T> (доступ по индексу)
Множество:ISet<T> - набор уникальных элементов
Словарь: IDictionary, IDictionary<TKey, TValue>
Какие структуры данных реализуют.
Массив
Плюсы:
Память
Произвольный доступ
Последовательный доступ
Минусы:
Упорядочивание
Добавление и удаление элементов
Динамический массив
Плюсы:
Произвольный доступ
Последовательный доступ
Добавление и удаление в конце
Минусы:
Упорядочивание
Добавление и удаление в начале
Добавление и удаление в произвольной позиции
Сортированный массив
Плюсы:
Произвольный доступ
Последовательный доступ
Поиск
Упорядочивание
Минусы:
Добавление и удаление элементов
Связный список
Плюсы:
Последовательный доступ Добавление и удаление элементов
Минусы:
Память
Произвольный доступ
Поиск
Хеш-таблицы
Плюсы:
Произвольный доступ
Добавление и удаление элементов
Минусы:
Память
Последовательный доступ
Поиск
18. Матрицы преобразований.
Область применения:
– DirectXиOpenGL
– почти любые 2Dи все 3Dигры
– CSS3 – Xaml (WPF)
Матрица переноса
Т=

Пример. Сместить точку (100,100) на 10 пикселей по оси OX:
(100,100) => [100
100 1]*
=
(110,100)
Матрица поворота

T=
Пример. Повернуть точку (100,100) на 0,5 радиан (28,6о) относительно центра:
[100 100 1]*
=
Матрица масштабирования.

T=
Пример. Увеличить масштаб фигуры, в которую входит (100,100) в 2 раза относительно центра.
[100 100 1]*
=
Матрица отражения.
Tx=
Ty=
Пример. Отразить (100,100) относительно OX.
[100 100 1]*
=









3D пространство.
Ось OZнаправлена от наблюдателя.
Матрица переноса (translate)
T=
Матрица растяжения/сжатия (scale)
T=
Матрица поворота (robate)
Toz=
Tox=
Toy=
private void button2_Click(object sender, EventArgs e)
{
p=MatrixHelper.Translate(p, 10, 0);
Graph.DrawRectangle(prn, p.X, p.Y, 50, 50);
}
19. Основы теории графов, что это такое, применение.
Теория графов.
Эвристический алгоритм – не дает правильного решения для 100% случаев, но дает очень хорошее решение в большинстве случаев.
Волновой алгоритм - … для невзвешенных графов.
Алгоритм
- эвристический тип(вид) для невзвешенных
графов.
Граф – набор вершин, соединенные ребрами.
Ориентировочный граф – граф, для вершин которого задано направление движения.
Взвешенный граф – граф, для вершин которого задан вес
Область применения – графы применяются в географии(карты дорог, оптимизация маршрутов), в поиске гипертексте, микросхемах, соц. сетях, составлении расписаний.
Концевая вершина – вершина на которой заканчивается ребро.
Смежные ребра- ребра имеющие общую вершину.
Кратные ребра – это ребра, концевая вершина которых совпадает.
