Встречается на собеседованиях • сегодня

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

Вот несколько классических алгоритмов, которые часто встречаются в Python:

  1. Сортировка пузырьком (Bubble Sort)
    Простой, но неэффективный алгоритм для небольших данных.

    python
    def bubble_sort(arr):
        n = len(arr)
        for i in range(n):
            for j in range(0, n-i-1):
                if arr[j] > arr[j+1]:
                    arr[j], arr[j+1] = arr[j+1], arr[j]
  2. Быстрая сортировка (Quick Sort)
    Эффективный алгоритм с временной сложностью O(n log n) в среднем случае.

    python
    def quick_sort(arr):
        if len(arr) <= 1:
            return arr
        pivot = arr[len(arr) // 2]
        left = [x for x in arr if x < pivot]
        middle = [x for x in arr if x == pivot]
        right = [x for x in arr if x > pivot]
        return quick_sort(left) + middle + quick_sort(right)
  1. Поиск в ширину (BFS)
    Используется для обхода графов или деревьев.

    python
    from collections import deque
    
    def bfs(graph, start):
        visited = set()
        queue = deque([start])
        while queue:
            vertex = queue.popleft()
            if vertex not in visited:
                visited.add(vertex)
                queue.extend(graph[vertex] - visited)
        return visited
  2. Алгоритм Дейкстры
    Находит кратчайший путь в графе с неотрицательными весами.

  3. Бинарный поиск
    Эффективный поиск в отсортированном массиве (O(log n)).

Эти алгоритмы — основа для решения многих задач в программировании.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы