Вступ до алгоритму інтерв'ю Питання та відповіді
Підготовка до співбесіди в Алгоритмі. Я впевнений, що ви хочете знати найпоширеніші запитання та відповіді щодо інтерв'ю з алгоритмом 2019 року, які допоможуть вам легко зрушити інтерв'ю з алгоритмом. Нижче наводиться список найпопулярніших питань інтерв'ю з алгоритмом та відповідей на допомогу.
Нижче наводиться перелік інтерв'ю з алгоритмом 2019 року. Питання та відповіді, які можна задати під час інтерв'ю для свіжішого досвіду та досвіду.
1.Напишіть алгоритм, щоб повернути рядок. Наприклад, якщо мій рядок "vahbunA", то моїм результатом буде "Anubhav".
Відповідь:
Крок 1: Почніть
Крок 2: Візьміть дві змінні I і j.
Крок 3: j розташований на останньому символі (технічно ми можемо це зробити за довжиною (рядок) -1)
Крок 4: Я розміщується на першому символі (це можна зробити за допомогою рядка (0))
Крок 5: Рядок (i) є зміненим рядком (j) Крок 6: Приріст I на 1
Крок 7: Приріст J на 1
Крок 8: Якщо 'I'> 'j', тоді перейдіть до кроку 3
Крок 9: Зупинка
2. Напишіть алгоритм, щоб вставити вузол у зв'язаний список, припускаючи, що пов'язаний список вже відсортований.
Відповідь:
Випадок 1: Якщо зв'язаний список порожній, тоді зробіть вузол як голову та поверніть його.
Код: New_node-> Next = head;
head = Новий_вузл
Випадок 2: Вставте вузол посередині
Код: Хоча (P! = Insert_position)
(
P = p-> Далі;
)
Store_next = P-> Далі;
P-> Далі = Новий_Node;
New_Node-> Next = Store_next;
Випадок 3: Вставте вузол в кінці
Код: Хоча (P-> наступний! = Null)
(
P = P-> Далі;
)
P-> Далі = Новий_Node;
New_Node-> Next = null;
3.Напишіть алгоритм сортування бульбашок.
Відповідь: Ми будемо реалізовувати алгоритм сортування міхурів через мову С.
Крок 1: Повторіть крок 2 і крок 3 для I = 1 до 10
Крок 2: Встановіть j = 1
Крок 3: Повторіть, поки j <= n (Де n - кількість елементів у масиві)
(Якщо a (i) <a (j) Тоді обмінюйтесь a (i) і a (j) (Кінець if))
Встановіть j = j + 1
(Кінець внутрішньої петлі) (Кінець зовнішньої петлі кроку 1) Крок 4: Вихід
4.Напишіть алгоритм для Heapsort.
Відповідь:
Крок 1: Оскільки дерево задовольняє властивість max-Heap, то найбільший елемент зберігається у кореневому вузлі.
Крок 2: Видаліть кореневий елемент і поставте в кінці масиву (n-ту позицію) останній елемент дерева (купу) на вільне місце.
Крок 3: Зменшіть розмір купи на 1 і знову скопійте кореневий елемент, щоб у нас був найвищий елемент у корені.
Крок 4: Процес повторюється, поки всі елементи списку не будуть відсортовані.
5.Напишіть алгоритм пошуку Фібоначчі.
Відповідь:
Крок 1: A сортується_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 = хв (зміщення + 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, верх)
(Вставте "Елемент" у "стек" максимального розміру "n", зверху - кількість елементів, що знаходяться в "Стек")
Крок 1. Перевірка стека переповнена?
Якщо (вгорі> = N)
Стек переповнюється
Вхід
Крок 2: Якщо стек не переповнюється, збільшуйте цикл
Вгору = Вгору + 1
Крок 3: Вставте елемент
Стек (вгорі) = предмет
Крок 4: Вихід
Для роботи POP
Крок 1: Перевірка стека під потоком означає порожній
Якщо (верх <= 0)
Стек порожній
Вхід
Крок 2: Якщо стек не перетікається, видалення елемента
Item = стек (вгорі) Крок 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: Перевірка черги під переповненим значень порожня
Якщо (R <= 0)
Черга порожня
Вхід
Крок 2: Видалення елемента з черги
Item = черга (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 -> зліва не є нулем)
Повернути minDepth (корінь -> праворуч) + 1;
Крок 4: Якщо (root -> Right не є нульовим)
Повернути minDepth (корінь -> вліво) + 1;
Крок 5: повернення min (minDepth (корінь -> ліворуч), minDepth (корінь -> праворуч)) + 1
Рекомендовані статті
Це був вичерпний посібник з питань інтерв'ю щодо алгоритму та відповідей, щоб кандидат міг легко розбити ці запитання щодо інтерв'ю з алгоритмом. Ви також можете переглянути наступні статті, щоб дізнатися більше -
- Питання та відповіді щодо машинного навчання для інтерв'ю
- Корисний посібник з питань інтерв'ю Big Data
- Важливі запитання щодо інтерв'ю Elasticsearch
- Корисні запитання та відповіді для інтерв'ю Apache PIG