18 самых популярных вопросов на собеседовании по алгоритму & Ответы

Anonim

Скачать PDF

1) Объясните, что такое алгоритм в вычислениях?

Алгоритм - это четко определенная вычислительная процедура, которая принимает какое-то значение на входе и генерирует какое-то значение на выходе. Проще говоря, это последовательность вычислительных шагов, которые преобразуют ввод в вывод.

2) Объясните, что такое алгоритм быстрой сортировки?

Алгоритм быстрой сортировки позволяет быстро сортировать список или запросы. Он основан на принципе обмена разделами, сортировка или «Разделяй и властвуй». Этот тип алгоритма занимает меньше места и разделяет список на три основные части.

  • Элементы меньше, чем элемент Pivot
  • Сводной элемент
  • Элементы больше, чем элемент Pivot

3) Объясните, что такое временная сложность алгоритма?

Временная сложность алгоритма указывает общее время, необходимое программе для выполнения до завершения. Обычно это выражается с помощью большой нотации О.

4) Упомяните, какие типы нотации используются для временной сложности?

Типы нотаций, используемых для сложности времени, включают:

  • Big Oh: указывает "меньше или столько же" итераций.
  • Big Omega : указывает "больше или столько же" итераций.
  • Большая тета: указывает "то же, что и" <выражение> итераций.
  • Little Oh: указывает "меньше" итераций
  • Маленькая Омега: указывает "более" <выражения> итераций

5) Объясните, как работает бинарный поиск?

В бинарном поиске мы сравниваем ключ с элементом в средней позиции массива. Если ключ меньше искомого элемента, он должен находиться в нижней половине массива, если ключ больше искомого элемента, то он должен находиться в верхней половине массива.

6) Объясните, можно ли использовать бинарный поиск для связанных списков?

Поскольку произвольный доступ недопустим в связном списке, невозможно достичь среднего элемента за время O (1). Таким образом, бинарный поиск для связного списка невозможен.

7) Объясните, что такое heap sort?

Сортировку кучи можно определить как алгоритм сортировки на основе сравнения. Он делит свой ввод на несортированную и отсортированную область, пока не сжимает несортированную область, удаляя наименьший элемент и перемещая его в отсортированную область.

8) Объясните, что такое список пропуска?

Пропустить в списке метод структурирования данных, где он позволяет алгоритму искать, удалять и вставлять элементы в таблицу символов или словарь. В списке пропусков каждый элемент представлен узлом. Функция поиска возвращает содержимое значения, связанного с ключом. Операция вставки связывает указанный ключ с новым значением, а функция удаления удаляет указанный ключ.

9) Объясните, что такое пространственная сложность алгоритма сортировки вставкой?

Сортировка вставкой - это алгоритм сортировки на месте, что означает, что он не требует ничего лишнего или небольшого. место хранения. Для сортировки вставкой требуется, чтобы только отдельные элементы списка хранились вне исходных данных, что делает пространственную сложность 0 (1).

10) Объясните, что такое «алгоритм хеширования» и для чего он используется?

«Алгоритм хеширования» - это хеш-функция, которая принимает строку любой длины и уменьшает ее до уникальной строки фиксированной длины. Он используется для проверки действительности пароля, целостности сообщений и данных, а также для многих других криптографических систем.

11) Объясните, как узнать, есть ли в связанном списке петля?

Чтобы узнать, есть ли в связанном списке цикл, мы воспользуемся подходом с двумя указателями. Если мы поддерживаем два указателя и увеличиваем один указатель после обработки двух узлов, а другой - после обработки каждого узла, мы, вероятно, столкнемся с ситуацией, когда оба указателя будут указывать на один и тот же узел. Это произойдет только в том случае, если в связанном списке есть цикл.

12) Объясните, как работает алгоритм шифрования?

Шифрование - это процесс преобразования открытого текста в формат секретного кода, называемый «зашифрованным текстом». Для преобразования текста алгоритм использует последовательность битов, называемую «ключами» для вычислений. Чем больше ключ, тем больше количество потенциальных шаблонов для создания зашифрованного текста. В большинстве алгоритмов шифрования используются фиксированные блоки входных данных, длина которых составляет от 64 до 128 бит, а в некоторых используется потоковый метод.

13) Перечислите некоторые из наиболее часто используемых криптографических алгоритмов?

Некоторые из наиболее часто используемых криптографических алгоритмов:

  • 3-ходовой
  • Blowfish
  • В РОЛЯХ
  • СЭВ
  • ГОСТ
  • DES и тройной DES
  • ИДЕЯ
  • LOKI и так далее

14) Объясните, в чем разница между лучшим и худшим сценариями алгоритма?

  • Лучший сценарий: лучший сценарий для алгоритма объясняется как расположение данных, для которого алгоритм работает лучше всего. Например, мы берем двоичный поиск, для которого в лучшем случае было бы, если целевое значение находится в самом центре данных, которые вы ищете. Лучшая временная сложность случая будет 0 (1)

  • Сценарий наихудшего случая: это наихудший набор входных данных для данного алгоритма. Например, быстрая сортировка, которая может работать хуже, если вы выберете самый большой или самый маленький элемент подсписка для значения сводки. Это приведет к вырождению быстрой сортировки до O (n2).

15) Объясните, что такое алгоритм Radix Sort?

Radix sort упорядочивает элементы, сравнивая цифры чисел. Это один из алгоритмов линейной сортировки целых чисел.

16) Объясните, что такое рекурсивный алгоритм?

Рекурсивный алгоритм - это метод решения сложной проблемы путем разбиения проблемы на все меньшие и меньшие подзадачи до тех пор, пока вы не получите проблему достаточно малую, чтобы ее можно было легко решить. Обычно это включает в себя функцию, вызывающую саму себя .

17) Назовите три закона алгоритма рекурсии?

Все рекурсивные алгоритмы должны подчиняться трем законам

  • У него должен быть базовый вариант
  • Рекурсивный алгоритм должен вызывать сам себя
  • Рекурсивный алгоритм должен изменить свое состояние и перейти к базовому случаю.

18) Объясните, что такое алгоритм пузырьковой сортировки?

Алгоритм пузырьковой сортировки также называется сортировкой по убыванию. В этом типе сортировки список, который нужно отсортировать, сравнивает пару соседних элементов. Если они организованы в неправильном порядке, значения поменяются местами и расположены в правильном порядке.