Завантажте PDF
1) Поясніть, що таке алгоритм обчислень?
Алгоритм - це чітко визначена обчислювальна процедура, яка приймає якесь значення як вхідне та генерує якесь значення як вихідне. Простими словами, це послідовність обчислювальних кроків, яка перетворює вхідні дані у вихідні.
2) Поясніть, що таке алгоритм швидкого сортування?
Алгоритм швидкого сортування має можливість швидко сортувати список або запити. Він заснований на принципі розділу обміну сортувати або розділити і завоювати. Цей тип алгоритму займає менше місця, і він розділяє список на три основні частини
- Елементи менше елемента Pivot
- Зворотний елемент
- Елементи, більші за елемент Pivot
3) Поясніть, що таке часова складність алгоритму?
Складність часу алгоритму вказує загальний час, необхідний програмі для запуску до завершення. Зазвичай це виражається використанням великих позначень О.
4) Згадайте, які типи позначень використовуються для складності часу?
Типи позначень, що використовуються для складності часу, включають
- Великий О: Він вказує на "менше або те саме, що ітерації" <вираз>
- Велика Омега : вона вказує на "більше або те саме, що" ітерації <вираз>
- Велика тета: вказує "те саме, що" ітерації <вираз>
- Little Oh: Це вказує на "менше ніж" ітерацій
- Маленька Омега: це вказує "більше ніж" ітерацій <вираз>
5) Поясніть, як працює двійковий пошук?
При двійковому пошуку ми порівнюємо ключ із елементом у середньому положенні масиву. Якщо ключ менше елемента, який шукається, він повинен знаходитися в нижній половині масиву, якщо ключ більше елемента, який шукається, ніж він повинен знаходитися у верхній половині масиву.
6) Поясніть, чи можна використовувати двійковий пошук для зв’язаних списків?
Оскільки довільний доступ не є прийнятним у зв’язаному списку, неможливо досягти середнього елемента часу O (1). Таким чином, двійковий пошук неможливий для пов'язаного списку.
7) Поясніть, що таке сортування купи?
Сортування купи можна визначити як алгоритм сортування на основі порівняння. Він ділить свій вхід на невідсортовану та відсортовану область, доки не зменшить несортовану область, виключивши найдрібніший елемент та перемістивши її до відсортованої області.
8) Поясніть, що таке пропустити список?
Пропустити список методу структурування даних, де він дозволяє алгоритму шукати, видаляти та вставляти елементи в таблиці символів або словнику. У списку пропуску кожен елемент представлений вузлом. Функція пошуку повертає вміст значення, пов’язаного з ключем. Операція вставки асоціює вказаний ключ з новим значенням, тоді як функція видалення видаляє вказаний ключ.
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) Поясніть, що таке алгоритм сортування бульбашок?
Алгоритм сортування бульбашок також називають сортуванням, що тоне. У цьому типі сортування список, який потрібно відсортувати, порівнює пару сусідніх елементів. Якщо вони впорядковані в неправильному порядку, вони поміняються місцями та розмістять їх у правильному порядку.