- •5. Что такое пространственная сложность алгоритма?
- •6. Какая структура данных называется односвязным списком?
- •7. Какая структура данных называется двусвязным списком?
- •8. Какая структура данных называется циклическим списком?
- •9. Какая структура данных называется стеком?
- •10. Какая структура данных называется очередью?
- •19. Какая структура называется неориентированный граф?
- •20. Какая структура называется ориентированный граф?
- •21.Методы хранения графов (матрицы смежности, инцидентности, списки смежных вершин).
- •29. Стек и дерево вызовов подпрограмм.
- •36. Рекурсия и решение головоломок.
- •37. Рекурсия и игры двух игроков.
- •38. Дерево решений для игр двух игроков.
- •39. Стратегия минимакса.
- •40. Альфа-Бета отсечение.
- •41. Последовательный поиск.
- •42. Последовательный поиск.
1. Для каких случаев производят оценку быстродействия алгоритма?
При обработке большого объема информации.
2. Что такое скорость роста алгоритма?
Скоростью роста алгоритма называется скорость роста числа операций при возрастании объёма входных данных.
3. Классификация скоростей роста алгоритма.
1) Алгоритмы, сложность которых растет по крайней мере так же быстро, как данная функция. 2) Алгоритмы, сложность которых растет с той же скоростью. 3) Алгоритмы, сложность которых растет не быстрее данной функции.
4. Что такое временнАя сложность алгоритма?
Временная сложность алгоритма (в худшем случае) — это функция размера входных и выходных данных, равная максимальному количеству элементарных операций, проделываемых алгоритмом для решения экземпляра задачи указанного размера. В задачах, где размер выхода не превосходит или пропорционален размеру входа, можно рассматривать временную сложность как функцию размера только входных данных.
Аналогично понятию временной сложности в худшем случае определяется понятие временная сложность алгоритма в наилучшем случае. Также рассматривают понятие среднее время работы алгоритма, то есть математическое ожидание времени работы алгоритма. Иногда говорят просто: «Временная сложность алгоритма» или «Время работы алгоритма», имея в виду временную сложность алгоритма в худшем, наилучшем или среднем случае (в зависимости от контекста).
5. Что такое пространственная сложность алгоритма?
Пространственная сложность - это один из критериев оценки алгоритмов. Под ней понимается зависимость количества занимаемой памяти от размера входных данных.
6. Какая структура данных называется односвязным списком?
По своей сути связный список (linked list) представляет собой цепочку элементов или объектов с некоторыми описаниями (обычно называемых узлами). При этом каждый элемент содержит указатель, указывающий на следующий элемент в списке. Такая структура данных называется односвязным списком (singly linked list) - каждый элемент имеет только одну ссылку или указатель на следующий элемент. Сам список начинается с первого узла, от которого путем последовательных переходов по ссылкам можно обойти все остальные узлы.
7. Какая структура данных называется двусвязным списком?
Если каждый стоящий в очереди запомнит, кто за ним стоит, после чего все в беспорядке рассядутся на лавочке, получится односторонне связанный список; если он запомнит ещё и впереди стоящего, будет двусторонне связанный список. При поиске элемента списка по его индексу требует, как уже было сказано, последовательного прохождения всего списка от начала до искомого элемента. Если необходимо обрабатывать список в обратном порядке, то затраты времени могут оказаться еще более значительными. В этом случае целесообразно использовать двусвязный список. Это легко осуществить, вводя в каждый узел два поля связи вместо одного. В этих полях должны находиться адреса предыдущего и последующего узлов для данного узла. Список, состоящий из узлов такой структуры, называется двусвязным линейным списком.
8. Какая структура данных называется циклическим списком?
Один из недостатков линейных списков заключается в том, что если какой-либо элемент списка уже пройден, то он становится недоступным. В результате мы не имеем доступа к элементам, предшествующим заданному. Для повторного обращения к пройденному элементу списка необходимо снова начать поиск с его головы. Сделаем в структуре линейного списка некоторые изменения. Пусть последний элемент списка содержит не пустой указатель, а указатель на первый его элемент. Такой список называется циклическим или кольцевым.
9. Какая структура данных называется стеком?
Стек — динамическая структура данных, представляющая из себя упорядоченный набор элементов, в которой добавление новых элементов и удаление существующих производится с одного конца, называемого вершиной стека. По определению, элементы извлекаются из стека в порядке, обратном их добавлению в эту структуру, т.е. действует принцип "последний пришёл — первый ушёл". Наиболее наглядным примером организации стека служит детская пирамидка, где добавление и снятие колец осуществляется как раз согласно определению стека.
10. Какая структура данных называется очередью?
Очередь — это информационная структура, в которой для добавления элементов доступен только один конец, называемый хвостом, а для удаления — другой, называемый головой. В англоязычной литературе для обозначения очередей довольно часто используется аббревиатура FIFO (first-in-first-out — первый вошёл — первым вышел). Очередь разумнее всего моделировать, отобразив её на двунаправленный кольцевой список. В этом случае в заглавном звене будет присутствовать информация как об указателе на голову, так и на хвост очереди.
11. Какая структура данных называется очередью по приоритету?
Приоритетная очередь - структура данных, в которой основными операциями являются операции вставки нового элемента и удаления элемента с наибольшим значением ключа (приоритета). Основными методами реализации таких структур данных являются упорядоченные и неупорядоченные списки и массивы, пирамиды
12. Какая структура данных называется очередью по приоритету?
Дек или двусторонняя очередь, представляет собой структуру данных, в которой можно добавлять и удалять элементы с двух сторон. Дек достаточно просто можно организовать в виде двусвязанного ациклического списка. При этом первый и последний элементы списка соответствуют входам (выходам) дека.
13. Какая матрица называется разреженной?
Разреженная матрица – это матрица, в которой подавляющее большинство элементов равно нулю. Такие матрицы можно хранить в памяти компьютера особым компактным образом. Идея компактного хранения состоит в том. чтобы в памяти имелись только ненулевые элементы и индексы этих элементов в матрице.
14. Как хранятся матрицы общего вида?
Координатная форма хранения – в такой форме данные хранятся в виде 3 массивов:
A – Ненулевые значения; LI – Номера строк; LJ – Номера столбцов.
Разреженный строчный формат. Матрица хранится в 3 одномерных массивах:
A – Построчно сверху вниз; LJ – Номера столбцов; LI – Местоположение первого элемента каждой строки.
15. Какая матрица называется разряженной структурно-симметричной?
Если выполняется два условия:
1) Если Aij = 0, то и Aji = 0;
2) Если Aij != 0, то и Aji != 0;
16. Как хранятся структурно-симметричные разреженные матрицы?
Такие матрицы хранятся в виде пяти одномерных массивов:
- Массив для диагонали AD;
- Массив элементов стоящих над диагональю AI (по строкам);
- Массив элементов стоящих под диагональю AL (по столбцам);
- Массив LJ – номера столбцов элементов.
- Массив LI – местоположение первого элемента каждой строки в AI или каждого столбца AL.
17. Какая матрица называется ленточной?
Матрица, состоящая в основном из нулей. Ненулевые элементы расположены только на главной диагонали и на двух линиях вдоль нее.
18. Как хранятся разреженные ленточные матрицы?
Ленточно-строчный формат: массив NxM, в котором построчно хранятся ненулевые элементы матрицы A. Побочные диагонали доопределены до размерности n нулями.
Ленточно-столбцовый формат: массив NxM, в котором по столбцам хранятся ненулевые элементы матрицы A. Побочные диагонали доопределены до размерности n нулями.
Диагональный формат: массив NxM. n – размерность массива матрицы, m – кол-во ненулевых диагоналей. Побочные диагонали доопределяются до общего нулями. (?)
