Какие знаешь алгоритмы

Python Senior Без компании
Какие знаешь алгоритмы
Ответы
В Python часто используются следующие алгоритмы: **Сортировки:** - **Bubble Sort** – простой, но неэффективный (O(n²)). - **Quick Sort** – быстрый (O(n log n) в среднем, но O(n²) в худшем случае. - **Merge Sort** – стабильный (O(n log n)), требует доп. памяти. **Поиск:** - **Binary Search** – работает за O(log n), но требует отсортированного массива. **Графовые алгоритмы:** - **BFS (поиск в ширину)** – O(V + E), поиск кратчайшего пути в невзвешенном графе. - **DFS (поиск в глубину)** – O(V + E), обход графа или поиск компонент связности. **Пример Binary Search:** ``` def binary_search(arr, target): left, right = 0, len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == target: return mid elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return -1 ``` Также важны **хеш-таблицы (dict в Python)**, **жадные алгоритмы**, **динамическое программирование** (например, задача о рюкзаке).