Top 18 Algorithm Interview Questions & Odpovědi

Anonim

Stáhnout PDF

1) Vysvětlete, co je algoritmus ve výpočtu?

Algoritmus je dobře definovaný výpočetní postup, který bere určitou hodnotu jako vstup a generuje určitou hodnotu jako výstup. Jednoduše řečeno, jde o posloupnost výpočtových kroků, které převádějí vstup na výstup.

2) Vysvětlete, co je algoritmus Quick Sort?

Algoritmus rychlého řazení má schopnost rychle třídit seznam nebo dotazy. Je založen na principu výměny oddílů sort nebo Divide and conquer. Tento typ algoritmu zabírá méně místa a rozděluje seznam na tři hlavní části

  • Prvky menší než prvek Pivot
  • Otočný prvek
  • Prvky větší než prvek Pivot

3) Vysvětlete, jaká je časová složitost algoritmu?

Časová složitost algoritmu označuje celkovou dobu potřebnou k dokončení programu. Obvykle se vyjadřuje pomocí velké O notace.

4) Uveďte, jaké typy notace se používají pro časovou složitost?

Typy notací použitých pro časovou složitost zahrnují

  • Big Oh: Znamená to „méně než nebo stejné jako“ iterace
  • Velká Omega : Označuje iterace „více než nebo stejně“ jako „výraz>
  • Big Theta: Označuje iterace „stejné jako“
  • Malý Oh: Označuje iterace
  • Malá Omega: Označuje iterace „více než“

5) Vysvětlete, jak funguje binární vyhledávání?

V binárním vyhledávání porovnáváme klíč s položkou ve střední poloze pole. Pokud je klíč menší než hledaná položka, musí ležet v dolní polovině pole, pokud je klíč větší než hledaná položka, než by měl být v horní polovině pole.

6) Vysvětlete, zda je možné použít propojené seznamy pomocí binárního vyhledávání?

Protože náhodný přístup není v propojeném seznamu přijatelný, je nemožné dosáhnout prostředního prvku času O (1). Pro odkazovaný seznam tedy není možné binární vyhledávání.

7) Vysvětlete, co je to halda?

Heap-sort lze definovat jako algoritmus třídění založený na srovnání. Rozdělí svůj vstup do netříděné a seřazené oblasti, dokud neztřídí netříděnou oblast tím, že eliminuje nejmenší prvek a přesune jej do seřazené oblasti.

8) Vysvětlete, co je Přeskočit seznam?

Přeskočit seznam metod pro strukturování dat, kde umožňuje algoritmu vyhledávat, mazat a vkládat prvky do tabulky symbolů nebo do slovníku. V seznamu přeskočení je každý prvek reprezentován uzlem. Funkce vyhledávání vrací obsah hodnoty související s klíčem. Operace vložení přidruží zadaný klíč k nové hodnotě, zatímco funkce odstranění odstraní zadaný klíč.

9) Vysvětlete, co je prostorová složitost algoritmu třídění vkládání?

Třídění vložení je algoritmus řazení na místě, což znamená, že nevyžaduje nic navíc ani málo. úložný prostor. Pro třídění vložení vyžaduje, aby byly pouze počáteční prvky seznamu uloženy mimo počáteční data, což činí složitost prostoru 0 (1).

10) Vysvětlete, co je „Hash Algorithm“ a k čemu se používá?

„Hash Algorithm“ je hash funkce, která přebírá řetězec libovolné délky a snižuje jej na jedinečný řetězec pevné délky. Používá se pro platnost hesla, integritu zpráv a dat a pro mnoho dalších kryptografických systémů.

11) Vysvětlete, jak zjistit, zda má propojený seznam smyčku?

Abychom věděli, zda má propojený seznam smyčku, použijeme přístup dvou ukazatelů. Pokud budeme udržovat dva ukazatele a zvýšíme jeden ukazatel po zpracování dvou uzlů a druhý po zpracování každého uzlu, pravděpodobně narazíme na situaci, kdy bude ukazatel směřovat na stejný uzel. K tomu dojde, pouze pokud má propojený seznam smyčku.

12) Vysvětlete, jak funguje šifrovací algoritmus?

Šifrování je proces převodu holého textu do formátu tajného kódu označovaného jako „Ciphertext“. K převodu textu používá algoritmus pro výpočty řetězec bitů označovaný jako „klíče“. Čím větší je klíč, tím větší je počet potenciálních vzorů pro vytváření šifrovacího textu. Většina šifrovacích algoritmů používá kódy pevných bloků vstupu, které mají délku přibližně 64 až 128 bitů, zatímco některé používají metodu streamu.

13) Seznam některých běžně používaných kryptografických algoritmů?

Některé z běžně používaných kryptografických algoritmů jsou

  • 3cestný
  • Blowfish
  • OBSAZENÍ
  • CMEA
  • GOST
  • DES a Triple DES
  • NÁPAD
  • LOKI a tak dále

14) Vysvětlete, jaký je rozdíl mezi nejlepším scénářem a nejhorším scénářem algoritmu?

  • Nejlepší scénář: Nejlepší scénář pro algoritmus je vysvětlen jako uspořádání dat, pro která algoritmus funguje nejlépe. Například vezmeme binární vyhledávání, pro které by nejlepším scénářem bylo, kdyby cílová hodnota byla v samém středu dat, která hledáte. Nejlepší časová složitost by byla 0 (1)

  • Nejhorší scénář: Odkazuje se na nejhorší sadu vstupu pro daný algoritmus. Například quicksort, který může fungovat nejhorší, pokud vyberete největší nebo nejmenší prvek podlistu pro hodnotu pivot. Způsobí to, že se quicksort zvrhne na O (n2).

15) Vysvětlete, co je algoritmus Radix Sort?

Radix sort dává prvek do pořádku porovnáním číslic čísel. Je to jeden z algoritmů lineárního řazení pro celá čísla.

16) Vysvětlete, co je rekurzivní algoritmus?

Rekurzivní algoritmus je metoda řešení komplikovaného problému rozdělením problému na menší a menší dílčí problémy, dokud problém nedostanete dostatečně malý na to, aby jej bylo možné snadno vyřešit. Obvykle se jedná o funkci, která si sama volá .

17) Uveďte, jaké jsou tři zákony algoritmu rekurze?

Všechny rekurzivní algoritmy musí dodržovat tři zákony

  • Mělo by to mít základní případ
  • Rekurzivní algoritmus se musí nazývat sám
  • Rekurzivní algoritmus musí změnit svůj stav a posunout se k základnímu případu

18) Vysvětlete, co je algoritmus třídění bublin?

Algoritmus třídění bublin se také nazývá potopení. V tomto typu třídění seznam, který se má třídit, porovnává dvojici sousedních položek. Pokud jsou uspořádány ve špatném pořadí, vymění hodnoty a uspořádá je ve správném pořadí.