Вопросы к экзамену / Теорминимум
.docx1 Оценка
-
Дайте оценку времени выполнения T(n) = n2 log n – n3 + 3n2 +n3
-
В чем разница между Ω Ο θ, продемонстрируйте на примерах
-
Дайте оценку времени выполнения T(n) = n2 log n + n3 - 3n2 +n3
-
Дайте оценку времени выполнения T(n) = 14,5n2 - 3n3 - 3n2 +2n3 + n + 3
-
Как задать структуру на С?
-
Как выделить динамическую память ?
-
Как задать динамически массив?
2 Сортировки
-
Оценка работы сортировки вставками, доп память ?
-
Оценка работы сортировки подсчетом, доп. память ?
-
Вырожденные случаи быстрой сортировки, почему?
-
Оценка работы быстрой сортировки, доп память ?
-
Как посчитать инверсии с помощью сортировки слияниями ?
-
Как работает сортировка слияниями ?
-
Как оценка работы процесса слияний в сортировке слияниями ?
-
Как оценка работы процесса разбиения в сортировке слияниями ?
-
Сколько доп. памяти использует сортировка слияниями ?
-
Как происходит вставка элемента в отсортированную часть массива в сортировке вставками ?
-
Что такое устойчивость алгоритма сортировки ?
-
Оценка по времени и по памяти быстрой сортировки ?
-
Когда быстрая сортировка дает худшую оценку по времени ? Почему?
-
Как модернизировать быструю сортировку, чтобы вероятность плохого времени была крайне мала ?
-
Какие ограничения цифровой сортировки ?
-
Какие оценки по памяти и времени у радикс сорт ?
-
Расскажите принцип сортировки подсчетом?
-
Со смещением (символы)
-
По числу вхождений (числа)
-
-
Приведите пример устойчивой сортировки ?
3 Бин поиск
-
Выполните бинарный поиск в массиве 1 3 5 7 8 8 8 9 13 11
-
Как найти все вхождения в массив числа 4: 4 5 44 6 7 4 6 4 4 77 4 4
-
Как будет работать бинарный поиск на двусвязном циклическом д/списке?
-
Что такое левый, что такое правый бин поиск?
4 Деревья
-
Как вычислить высоту дерева?
-
Дайте оценку операции вставки в бинарное дерево поиска?
-
Как выполняется поиск минимума в бин. дереве?
-
Как выполняется поиск заданного ключа в бин. дереве?
-
Как выполняется поиск максимума в бин. дереве?
-
Какими свойствами обладает бин. дерево ?
-
Что такое полное дерево?
-
Дайте определения терминам используемым в описании Дерева?
-
Какие есть обходы дерева? Приведите пример
-
Как найти следующий или предыдущий элемент в бин дереве?
5 Хеширование:
-
В чем преимущество метода кукушки ?
-
Что такое коллизия?
-
Дайте определение хорошей хеш функции ?
-
В чем преимущество двойного хеширования ?
-
Что такое двойное хеширование ?
-
Что такое идеальное хеширование?
-
Что такое независимые хеш функции и зачем это необходимо?
-
Что такое перехеширование и когда его необходимо применять?
-
Предупреждающее перехеширование при каких условиях применяется (если открой адресацией, если цепочками )?
-
Какие проблемы есть у методами открытой адресации ?
-
Что такое хеширование ?
-
Как выполняется поиск ключа в хеш таблицу?
-
При открытой адресации
-
При цепочках
-
-
Какова вероятность коллизии при вставке в хеш таблицу?
-
Что такое идеальное хеширование?
-
Какие два уровня используются в идеальном хешировании ?
-
Как удалять элемент из таблицы
-
Открытая адресация
-
Пометки
-
Восстановление свойств таблицы
-
-
Цепочки (все вариации )
-
6 Куча, пирамида и списки
-
Какая оценка по времени у построения пирамиды, почему?
-
Какими свойствами обладает пирамида?
-
Какие типы есть двоичных куч, в чем их отличия?
-
Когда применяется операция (куча с минимумом):
-
просеивания вниз
-
просеивания вверх
-
-
Как расположены элементы на нижнем уровне пирамиды?
-
Как вычислить сколько элементов на каком уровне пирамиды?
-
Как вычислить число уровней пирамиды по числу элементов в ней?
-
Как выполняется построение пирамиды?
-
Как выполняется вставка нового элемента ?
-
Как выполняется удаление нового элемента
-
Дайте оценку операции работы с пирамидой
-
Вставка
-
Удаление
-
Просеивание вверх/вниз
-
Поиск минимума/максимума
-
-
Как выполняется пирамидальная сортировка?
-
Дайте оценку сортировки по времени и памяти ?
7 Стек/очередь
-
Что такое стек/ очередь ?
-
Какими свойствами обладает стек/ очередь?
-
Вы реализуете стек/очередь, за какими ограничениями нужно следить?
-
Как удалить элемент из списка?
-
Какие списки бывают ?
-
Как организовать структуру для д/списков?
8 Графы 1
-
Обход в глубину по ребрам или вершинам?
-
Обход в ширину по ребрам или вершинам?
-
Как найти цикл в графе ?
-
Как восстановить цикл ?
-
А если несколько циклов? Как найти все ?
-
А если несколько компонент связности и циклов, то как найти все?
-
Что такое алгоритм Демукрона?
-
Что такое остовное дерево ?
-
Что такое топологическая сортировка?
-
Что такое волновой алгоритм?
-
Как найти расстояние от заданной вершины в невзвешенном графе до остальных?
-
Как найти компоненты связности в графе?
-
Что такое компонента сильной связности ?
-
Как найти компоненты сильной связности ?
-
Какие графы бывают (типы)?
-
Какие ребра бывают в графе?
-
Как топологически отсортировать граф?
-
Зачем при топ сорте обход в глубину используется несколько раз ?
-
Свойства матрицы смежности ориентир и неоринтир графа ?
-
Свойства матрицы ицидентности ?
-
Кратные ребра и петли как задать в матрицах смежности и ицидентности ?
-
Что такое мост ?
-
Что такое точка сочлинения ?
9 Графы 2
-
Какими способами можно задать граф ?
-
Требуется определить, связаны ли две заданные вершины ребром. Какой способ представления графа позволяет сделать это быстрее?
-
Какая структура данных занимает меньше памяти в случае хранения разреженных графов?
-
Ациклический ориентированный граф. Поиск кратчайших путей от одной до всех. Какой алгоритм использовать за основу и почему?
-
Приведите пример графа, где топ сорт поможет быстро найти пути ?
-
Если полный граф, то для алгоритма дейкстры, что лучше использовать для реализации очереди ?
-
Как эффективно использовать кучу для реализации очереди в алгоритме дейкстры ?
-
Что такое релаксация ? Как это работает ?
-
Как модернизировать алгоритм Воршала для поиска путей по типу –инф при наличии циклов отриц. веса?
-
Что такое цикл отрицательного, положительного и нулевого веса?
-
Как найти цикл отрицательного веса?
-
Как без запуска алгоритмов поиска кратчайших путей определить, что цикла отрицательгого веса в графе точно нет ?
-
Как восстановить цикл отриц веса?
-
Как восстановить путь в алгоритме Белмана от заданной до одной из списка ?
-
Проверка на отстутсвие пути
-
-
Что такое массив предков ?
-
Как определить, что есть цикл отрицательного веса:
-
Воршала
-
Белмана
-
-
Как оптимизировать белмана для уменьшения пустых интеграций алгоритма?
-
Сколько итераций алгоритма блемана ?
-
Каким способом задать нужно граф для блемана?
-
Каким способом задан грфа для воршала?
-
Сколько матриц используется в воршале, почему и для чего?
-
Почему можно обойтись одной
-
-
Как происходить реалксация в
-
Воршале
-
В белмане ?
-
-
Что ищет алгоритм
-
Дейскры
-
Белмана
-
Воршала?
-
-
Какие ограничения у алгоритма
-
Дейсктры
-
Белмана
-
Воршала ?
-
-
Как влияет цикл отрицательного веса на поиск кратчайших путей?
-
Когда найдена вершина в алгоритмах белмана или воршала, что является маркером отрицательного цикла, то гарантировано, что она в цикле? Почему?
-
Что такое жадный алгоритм, в чем его отличия?
-
Как ускорить алгоритм дейкстры ?
10 Поиск подстрок и конечные автоматы
-
Как строится префикс функция
-
Как модернизировать алгоритм построения
-
Как найти подстроку в тексте: навиный поиск:
-
С cmp
-
С посимволным сравнением
-
-
Как найти подстроку
-
Что такое вхождение подстроки в текст? Приведите пример текста, где подстрока вход три раза подряд ?
-
Что такое КМП и как он работает ?
-
Зачем нужен спец символ в КМП?
-
Приведите пример некорректной работы КМП без спец символа?
-
Как с помощью ДКА найти подстроку в тексте ?
-
Как вычисляется индекс вхождения подстроки в текст в КМП?
-
Как восстановить пример текста по префикс функции, зная алфавит ?