Въведение в Алгоритъм Интервю въпроси и отговори
Подготовка за интервю за работа в Алгоритъм. Сигурен съм, че искате да знаете най-често срещаните въпроси за интервю за алгоритъм за 2019 г. и отговори, които ще ви помогнат с лекота да разчупите интервюто с алгоритъм. По-долу е списъкът с най-добрите въпроси за интервю за алгоритъм и отговори, които са ви на помощ.
По-долу е списъкът с въпроси за алгоритъм за интервю за 2019 г. Въпроси и отговори, които можете да зададете по време на интервю за по-свеж и опит.
1.Напишете алгоритъм за връщане на низ. Например, ако моят низ е "vahbunA", резултатът ми ще бъде "Anubhav".
Отговор:
Стъпка 1: Старт
Стъпка 2: Вземете две променливи I и j.
Стъпка 3: j е позициониран върху последния символ (Технически можем да направим това по дължина (низ) -1)
Стъпка 4: Позиционирам се на първи символ (можем да направим това чрез низ (0))
Стъпка 5: String (i) е променен String (j) Стъпка 6: Увеличение I с 1
Стъпка 7: Увеличение J по 1
Стъпка 8: Ако 'I'> 'j', тогава преминете към стъпка 3
Стъпка 9: Спрете
2.Напишете алгоритъм за вмъкване на възел в свързан списък, като предположим, че свързаният списък е вече сортиран.
Отговор:
Случай 1: Ако свързаният списък е празен, направете възела като глава и го върнете.
Код: New_node-> Next = head;
head = New_node
Случай 2: Поставете възел в средата
Код: Докато (P! = Insert_position)
(
P = p-> Напред;
)
Store_next = P-> Напред;
P-> Next = New_Node;
New_Node-> Next = Store_next;
Случай 3: Поставете възел в края
Код: Докато (P-> следващ! = Нула)
(
P = P-> Напред;
)
P-> Next = New_Node;
New_Node-> Next = null;
3.Напишете алгоритъм за сортиране на балони.
Отговор: Ще реализираме алгоритъма за сортиране на балончета чрез езика C.
Стъпка 1: Повторете стъпка 2 и стъпка 3 за I = 1 до 10
Стъпка 2: Задайте j = 1
Стъпка 3: Повторете, докато j <= n (Където n е брой елементи в масива)
(Ако a (i) <a (j) Тогава обменяйте a (i) и a (j) (End of if))
Задайте j = j + 1
(Край на вътрешния контур) (Край на външния цикъл на стъпка 1) Стъпка 4: Изход
4.Напишете алгоритъм за Heapsort.
Отговор:
Стъпка 1: Тъй като дървото удовлетворява свойството max-Heap, тогава най-големият елемент се съхранява в коренния възел.
Стъпка 2: Извадете кореновия елемент и поставете в края на масива (n-та позиция) поставете последния елемент от дървото (heap) на свободното място.
Стъпка 3: Намалете размера на купчината с 1 и отново скопете кореновия елемент, така че да имаме най-високия елемент в корена.
Стъпка 4: Процесът се повтаря, докато не се подредят всички елементи от списъка.
5.Напишете алгоритъм за търсене на Фибоначи.
Отговор:
Стъпка 1: A е sorted_int_array;
Стъпка 2: вземете една променлива c
Стъпка 3: Fib2 = 1, Fib1 = 1 и fib = 2
Стъпка 4: Докато fib <n do (където n е брой на елемента в списъка)
Стъпка 5: Задайте променливата
Fib2 = Fib1
Fib1 = Fib
Fib = Fib1 + Fib2
Край докато
Стъпка 6: Присвойте стойността на временна променлива I = 0, офсет = 0;
Стъпка 7: Докато Fib> 1 направете
I = min (офсет + Fib2, n)
Ако c <A (i) тогава
Fib = Fib2
Fib1 = Fib1 - Fib2
Fib2 = Fib - Fib1
Друго, ако c> A (i) тогава
Fib = Fib1;
Fib1 = Fib2;
Fib2 = Fib - Fib1;
Отместване = I;
още
Върнете се вярно
Край ако
Край докато
Върнете невярно
6. Напишете алгоритъм на push и pop операция в стека.
Отговор: За натискане
Добавяне на процедура (елемент, стек, N, отгоре)
(Вмъкнете 'Item' в 'стека' с максимален размер 'n', отгоре е броят на елементите, които са в момента в 'Stack')
Стъпка 1: Проверка на стека е препълнена?
Ако (отгоре> = N)
Стека е препълнен
изход
Стъпка 2: Ако стекът не прелива, увеличете цикъла
Нагоре = Най-горе + 1
Стъпка 3: Поставете елемента
Стека (отгоре) = елемент
Стъпка 4: Излезте
За POP работа
Стъпка 1: Проверка на стека е под потока означава празен
Ако (Топ <= 0)
Стекът е празен
изход
Стъпка 2: Ако стекът не е потопен, след това изтрийте елемента
Елемент = стек (отгоре) Стъпка 3: декрементиране на горната стойност
Най-горе = отгоре - 1
Стъпка 4: Излезте
7. Напишете алгоритъм за операция за поставяне и изтриване в опашката.
Отговор: За операция по поставяне
Добавяне на процедура (опашка, F, R, N, елемент)
(Това ще вмъкне 'item' в 'опашката' след 'R' (рядко), където 'n' е размерът на масива.)
Стъпка 1: Проверката на опашката е препълнена означава, че опашката е пълна
Ако (R> = N)
Опашката е пълна
изход
Стъпка 2: Ако опашката не е препълнена, тогава увеличете цикъла
R = R + 1
Стъпка 3: Поставете елемент в опашката
Опашка (R) = елемент
Стъпка 4: Задаване на показалец „F“ (отпред)
Ако (F = 0)
F = 1
изход
За операция за изтриване в опашката
Изтриване на процедура (опашка, F, R, елемент)
(Изтрийте „елемент“ от „стека“, „F“ е показалецът от предния край, а „R“ е редкият краен показалец.
Стъпка 1: Check Check is underflow означава празен
Ако (R <= 0)
Опашката е празна
изход
Стъпка 2: Изтриване на елемент от опашката
Елемент = опашка (F) Стъпка 3: Увеличаване на стойността на F
F = F + 1
Стъпка 4: Проверка на празната опашка
Ако (F> R)
Тогава F = R = 0
изход
8.Напишете алгоритъм, за да намерите минималната дълбочина на двоично дърво.
Отговор: Нека „възел“ е показалецът към коренния възел на поддърво.
Стъпка 1: Ако възелът е равен на Null, върнете 0
Стъпка 2: Ако възелът е връщане на листов възел 1.
Стъпка 3: Рекурсивно, намерете минималната дълбочина на лявото и дясното дърво, оставете го съответно минимално дълбоко и дясно мин.
Стъпка 4: За да получим минималната височина на дървото, вкоренена в възела, ще вземем минимум лява мин. Дълбочина и дясна мин. Дълбочина и 1 за коренния възел.
програма:
Процедура minDepth (Възел)
Стъпка 1: ако (root = null)
Върнете 0
Стъпка 2: ако (root -> Left = Null and root -> right = Null)
Връщане 1
Стъпка 3: ако (root -> left не е нула)
Върнете minDepth (корен -> дясно) + 1;
Стъпка 4: Ако (root -> Right не е нула)
Върнете minDepth (корен -> наляво) + 1;
Стъпка 5: върнете min (minDepth (корен -> наляво), minDepth (корен -> дясно)) + 1
Препоръчителни статии
Това е изчерпателно ръководство за въпросите и отговорите на интервюта за алгоритъм, така че кандидатът да може лесно да разруши тези въпроси за интервю за алгоритъм. Можете също да разгледате следните статии, за да научите повече -
- Въпроси и отговор за машинно обучение за интервю
- Полезно ръководство по въпроси за интервю с Big Data
- Важни въпроси за интервю за Elasticsearch
- Полезни въпроси и отговор за интервю на Apache PIG