Python
  • Полезные ссылки
  • Базовый Python
    • Простые
      • Циклы. Варианты циклов, назначение.
      • Что такое список, примеры, назначение.
      • Что такое словарь, примеры, назначение.
      • Что такое срез, примеры, назначение.
      • Что такое функция. Для чего нужны функции. Параметры функций.
      • Что такое класс. Для чего нужны классы.
      • В чем разница между функцией и классом (рассматривая одну функцию).
      • Как объединить несколько строк.
      • Рекурсия.
      • Что такое json. Для чего используют json.
    • Сложные
      • Генераторы, примеры, назначение.
      • Итераторы. Зачем нужны
      • Что такое кортеж, примеры, назначение
      • Что такое set, примеры, назначение
      • Наследование, примеры, назначение
      • Полиморфизм, примеры, назначение
      • Преимущества итераторов перед генераторами
      • Способы создания итераторов
      • Изменяемые и неизменяемые типы
      • Что такое исключения, примеры, назначение
  • Алгоритмы и структуры данных
    • Общее понятие массива. Представление массива. Примеры.
    • Понятие очереди, принципы работы, примеры использование, временные сложности операций.
    • Понятие стека, принципы работы, примеры использование, временные сложности операций
    • Как осуществляется операция доступа к элементу массива. Временная сложность операции
    • Понятие временной сложности алгоритмов. Назначение, примеры, графическое представление
    • Линейный поиск в массиве. Временная сложность
    • Поиск минимального элемента в массиве. Временная сложность
    • Линейный поиск в двумерном массиве. Временная сложность
    • Алгоритм бинарного поиска. Временная сложность
    • Поиск подстроки. Линейный алгоритм. Временная сложность
  • Практика
    • Простые
    • Сложнее
Powered by GitBook
On this page

Was this helpful?

  1. Алгоритмы и структуры данных

Алгоритм бинарного поиска. Временная сложность

PreviousЛинейный поиск в двумерном массиве. Временная сложностьNextПоиск подстроки. Линейный алгоритм. Временная сложность

Last updated 6 years ago

Was this helpful?

Временная сложность log(n).

def qsort(lst):
    if len(lst) <= 1:
        return lst
    mid = lst[len(lst) // 2]
    left = []
    right = []
    eq = []
    for num in s:
        if num < mid:
            left.append(num)
        elif num > min:
            right.append(num)
        else:
            eq.append(num)
    return qsort(left) + eq + qsort(right)
Видео