Вступ до структур даних та алгоритмів Інтерв'ю Питання та відповіді

Структура даних - це спосіб, який визначає, зберігає та витягує дані у структурному та систематичному форматі. Структура даних містить різні типи наборів даних. Для різних типів програм доступні різні типи даних, а деякі дані є вузькоспеціалізованими для конкретних завдань. Алгоритм - це покрокова процедура з набором інструкцій, щоб виконати відповідним чином, щоб отримати бажаний вихід. У математиці та інформатиці алгоритм зазвичай означає невелику процедуру, яка вирішує проблему, що повторюється.

Нижче наведено топ інтерв'ю: Структури даних та алгоритми інтерв'ю на запитання та відповіді:

Якщо ви шукаєте роботу, пов’язану зі структурами даних та алгоритмами, вам потрібно підготуватися до питань інтерв'ю щодо структур даних та алгоритмів 2018 року. Незважаючи на те, що кожне інтерв'ю відрізняється, а сфера роботи також різна, ми можемо допомогти вам у вирішенні питань інтерв'ю з структурами даних та алгоритмами, які допоможуть вам скокнути та досягти успіху в інтерв'ю.

Ці основні питання поділяються на дві частини:

Частина 1 - Структури даних та алгоритми інтерв'ю (основні)

Ця перша частина охоплює основні структури інтерв'ю та алгоритми запитань та відповідей.

1. Що таке структура даних?

Відповідь:
Структура даних - це спосіб визначення, зберігання та отримання даних структурним та систематичним способом. Структура даних може містити інший тип даних. Різні типи структур даних підходять для різних видів додатків, а деякі вузькоспеціалізовані для конкретних завдань.

2. Які існують різні структури даних?

Відповідь:
Доступність структури даних може відрізнятися залежно від мов програмування. Загальнодоступними структурами даних є список, масиви, стек, черги, графік, дерево тощо.

3. Що таке алгоритм?

Відповідь:
Алгоритм - це покрокова процедура, яка визначає набір інструкцій, які слід виконати в певному порядку, щоб отримати бажаний вихід. Комп'ютерна програма може розглядатися як складний алгоритм. У математиці та інформатиці алгоритм зазвичай означає невелику процедуру, яка вирішує проблему, що повторюється.

Перейдемо до наступних питань інтерв'ю щодо структур даних та алгоритмів

4. Диференціюйте структуру файлів від структури зберігання.

Відповідь:
Власне, ключова відмінність - це область пам'яті, до якої можна отримати доступ. Якщо мова йде про структуру, яка знаходиться в основній пам'яті комп'ютерної системи, це називається структурою зберігання даних. Маючи справу з допоміжною структурою, ми називаємо її файловою структурою.

5. Що таке пов'язаний список?

Відповідь:
Зв'язаний список - це список елементів, пов'язаних із посиланнями, тобто покажчики або посилання. Більшість сучасних мов програмування високого рівня не забезпечує можливості прямого доступу до місця пам'яті, тому пов'язаний список не підтримується в них або доступний у вигляді вбудованих функцій. В інформатиці пов'язаний список - це лінійна колекція елементів даних, в якій лінійний порядок не задається їх фізичним розміщенням в пам'яті. Натомість кожен елемент вказує на наступний. Це структура даних, що складається з групи вузлів, які разом представляють послідовність.

6. Що таке стек?

Відповідь:
У структурі даних стек - це абстрактний тип даних (ADT), який використовується для зберігання та отримання значень у методі Last In First Out. Стек - це пам'ять, відведена як місце для подряпин для потоку виконання.

7. Для чого ми використовуємо стеки?

Відповідь:
Структура стека різко обмежує те, як елементи вставляються, витягуються та видаляються: останнім часом вставлений елемент у стеку є єдиним, який можна отримати або видалити. Стеки дотримуються методу LIFO, а додавання та завантаження елемента даних займає лише Ο (n) час. Стеки використовуються там, де нам потрібно отримати доступ до даних у зворотному порядку їх надходження. Стеки зазвичай використовуються для рекурсивних викликів функцій, розбору виразів, переходу графіків на глибину та ін.

Частина 2 - Структура даних та алгоритми інтерв'ю (розширені)

Давайте зараз ознайомимось із передовими питаннями інтерв'ю щодо структур даних та алгоритмів.

8. Які операції можна виконувати на стеках?

Відповідь:
Наведені нижче операції можна виконувати на стеці -
• push () - додає елемент до стеку - Вставка
• pop () - видаляє верхній елемент стека -Вибір
• peek () - дає значення верхнього елемента без його видалення -Traversal
• isempty () - перевіряє, чи є стек порожнім - Nulll check
• isfull () - перевіряє, чи є стек повним - немає місця

9. Що таке черга в структурі даних?

Відповідь:
Черга - це абстрактна структура даних, дещо схожа на стек. На відміну від стека, черга відкривається з обох кінців. Один кінець завжди використовується для вставки даних (enqueue), а другий використовується для видалення даних (dequeue). Черга слідує методології "Перший-у-першому", тобто спочатку до даних, що зберігаються, буде доступним першим.

10. Що таке лінійний пошук?

Відповідь:
Лінійний пошук намагається знайти елемент у послідовно розташованому типі даних. Ці послідовно розташовані елементи даних, відомі як масив або список, доступні у збільшенні пам'яті. Лінійний пошук порівнює очікуваний елемент даних з кожним із елементів даних у списку чи масиві. Середня складність часу лінійного пошуку становить Ο (n), а найгірша складність - Ο (n2). Дані в цільових масивах / списках не потрібно сортувати.

Перейдемо до наступних питань інтерв'ю щодо структур даних та алгоритмів

11. Що таке двійковий пошук?

Відповідь:
Двійковий пошук працює лише у відсортованих списках або масивах. Цей пошук вибирає середину, яка розбиває весь список на дві частини. По-перше, порівнюється середина.
Цей пошук спочатку порівнює цільове значення із серединою списку. Якщо його не знайти, то приймає рішення про погоду. В інформатиці двійковий пошук, також відомий як півпертервальний пошук, логарифмічний пошук або двійковий відбиток, є алгоритмом пошуку, який знаходить позицію цільового значення в упорядкованому масиві.

12. Що таке графік?

Відповідь:
Графік - це зображальне зображення сукупності об'єктів, де деякі пари об’єктів з'єднані посиланнями. Пов’язані між собою об'єкти представлені точками, які називаються вершинами, а зв’язки, що з'єднують вершини, називаються ребрами. Структура даних графіків складається з кінцевого (і, можливо, змінного) набору вершин або вузлів або точок разом з набором невпорядкованих пар цих вершин для ненаправленого графа або набору впорядкованих пар для спрямованого графа.

13. Що таке рекурсивна функція?

Відповідь:
Рекурсивна функція - це функція, яка викликає себе безпосередньо, або викликає функцію, яка в свою чергу викликає її. Кожна рекурсивна функція відповідає рекурсивним властивостям - базовим критеріям, коли функції перестають називати себе та прогресивним підходом, коли функції намагаються відповідати базовим критеріям у кожній ітерації. Важливе застосування рекурсії в інформатиці полягає у визначенні динамічних структур даних, таких як Списки та Дерева.

14. Що таке башта Ханої?

Відповідь:
Башта Ханої - це математична головоломка, яка складається з трьох веж (кілочків) і більше одного кільця. Всі кільця мають різні розміри і укладаються один на одного, де великий диск завжди нижче малого диска. Мета - перемістити вежу диска з одного кілочка на інший, не порушуючи його властивостей. Мета цієї гри полягає в переміщенні дисків один за одним від першого кілочка до останнього кілочка. І є лише ОДНА умова, ми не можемо розмістити більший диск поверх меншого диска.

15. Наведіть кілька прикладів жадібних алгоритмів.

Відповідь:
Нижче наведені проблеми знаходять своє рішення за допомогою жадного алгоритму підходу -
• Проблема продавця подорожей
• Алгоритм мінімального обертового дерева Прима
• Алгоритм мінімального обертового дерева Крускала
• Алгоритм мінімального розгалуженого дерева Дійкстри
• Графік - Розфарбування карти
• Графік - Обкладинка вершини
• Проблема з рюкзаком
• Проблема планування роботи

Рекомендована стаття

Це було керівництвом щодо списку інтерв'ю з структурами даних та алгоритмами, щоб кандидат міг легко розбити ці структури даних та алгоритми інтерв'ю. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. 10 найкращих структур даних та алгоритмів C ++ | Основи
  2. Кращі мови вибору програмування для вивчення алгоритмів
  3. Питання для інтерв'ю SSRS - як зламати топ-10 питань
  4. Питання щодо інтерв'ю з мережевої безпеки - найпопулярніші та найбільш задані