Топ 18 въпроси за интервю за алгоритъм & Отговори

Anonim

Изтеглете PDF

1) Обяснете какво представлява алгоритъм в изчисленията?

Алгоритъмът е добре дефинирана изчислителна процедура, която приема някаква стойност като вход и генерира някаква стойност като изход. С прости думи, това е последователност от изчислителни стъпки, които преобразуват входа в изхода.

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

Алгоритъмът за бързо сортиране има възможност за бързо сортиране на списък или заявки. Тя се основава на принципа на дял обмен сортиране или разделяне и завладяване. Този тип алгоритъм заема по-малко място и разделя списъка на три основни части

  • Елементи по-малко от елемента Pivot
  • Осев елемент
  • Елементи, по-големи от елемента Pivot

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

Сложността във времето на алгоритъма показва общото време, необходимо на програмата да се изпълни до завършване. Обикновено се изразява чрез използване на голямата O нотация.

4) Споменете кои са видовете нотации, използвани за сложността на времето?

Видовете нотации, използвани за сложност на времето, включват

  • Big Oh: Показва "по-малко или същото като" итерации
  • Голяма омега : Указва "повече от или същото като" итерации <израз>
  • Голяма тета: Указва "същото като" итерации <израз>
  • Little Oh: Показва "по-малко от" итерации <израз>
  • Малката Омега: Показва "повече от" итерации <израз>

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

При двоично търсене сравняваме ключа с елемента в средната позиция на масива. Ако ключът е по-малък от търсения елемент, той трябва да лежи в долната половина на масива, ако ключът е по-голям от търсения елемент, отколкото трябва да бъде в горната половина на масива.

6) Обяснете дали е възможно да се използва двоично търсене за свързани списъци?

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

7) Обяснете какво е сортиране на купчина?

Сортирането на купчина може да бъде дефинирано като алгоритъм за сортиране, базиран на сравнение. Той разделя входа си на несортирания и сортиран регион, докато не свие несортирания регион, като елиминира най-малкия елемент и го премести в сортирания регион.

8) Обяснете какво е Skip list?

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

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

Сортирането при вмъкване е алгоритъм за сортиране на място, което означава, че не изисква допълнително или малко. съхранение. За сортиране при вмъкване изисква само единични елементи от списъка да се съхраняват извън първоначалните данни, което прави сложността на пространството 0 (1).

10) Обяснете какво е „алгоритъм на хеш“ и за какво се използват?

"Хеш алгоритъм" е хеш функция, която приема низ с произволна дължина и го намалява до уникален низ с фиксирана дължина. Използва се за валидност на паролата, целостта на съобщенията и данните и за много други криптографски системи.

11) Обяснете как да разберете дали свързаният списък има цикъл?

За да знаем дали свързаният списък има цикъл, ще използваме двупосочен подход. Ако поддържаме два указателя и увеличим един указател след обработка на два възела и друг след обработка на всеки възел, вероятно ще срещнем ситуация, при която и двата показалеца ще сочат към един и същ възел. Това ще се случи само ако свързаният списък има цикъл.

12) Обяснете как работи алгоритъмът за криптиране?

Шифроването е процес на преобразуване на открит текст в таен кодов формат, посочен като „Шифротекст“. За да преобразува текста, алгоритъмът използва низ от битове, посочени като "ключове" за изчисления. Колкото по-голям е ключът, толкова по-голям е броят на потенциалните модели за създаване на текст на шифър. Повечето алгоритми за криптиране използват кодове с фиксирани входни блокове, които имат дължина около 64 до 128 бита, докато някои използват метод на потока.

13) Избройте някои от често използваните криптографски алгоритми?

Някои от често използваните криптографски алгоритми са

  • 3-посочен
  • Blowfish
  • ЛИТЕ
  • СИВ
  • ГОСТ
  • DES и тройна DES
  • ИДЕЯ
  • LOKI и така нататък

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

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

  • Най-лошият сценарий: Препраща се към най-лошия набор от данни за даден алгоритъм. Например бърза сортировка, която може да се представи най-зле, ако изберете най-големия или най-малкия елемент от подлист за основната стойност. Това ще доведе до дегенерация на бързото сортиране до O (n2).

15) Обяснете какво представлява алгоритъмът за сортиране на Radix?

Сортирането по Radix подрежда елемента, като сравнява цифрите на числата. Това е един от алгоритмите за линейно сортиране за цели числа.

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

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

17) Споменете кои са трите закона на рекурсивния алгоритъм?

Всички рекурсивни алгоритми трябва да следват три закона

  • Трябва да има основен случай
  • Рекурсивният алгоритъм трябва да се извика
  • Рекурсивният алгоритъм трябва да промени състоянието си и да премине към основния случай

18) Обяснете какво е алгоритъм за сортиране на балончета?

Алгоритъмът за сортиране на мехурчета също се нарича потъващ сортиране. При този тип сортиране списъкът за сортиране сравнява двойката съседни елементи. Ако са организирани в грешен ред, той ще замени стойностите и ще ги подреди в правилния ред.