Перейти к содержанию

Эффективность алгоритмов: быстро против медленно

Начало урока

Быстро или медленно: насколько умный твой план?

Простое знакомство с тем, почему одни решения намного быстрее других

Главная идея: Два плана могут давать правильный ответ, но один может быть намного быстрее другого. Когда количество вещей (это данные) растёт, медленный план становится медленным очень быстро, а умный план остаётся быстрым. Умение выбирать быстрый план называется мышлением об эффективности.
К концу урока ты сможешь:
  • простыми словами объяснить, что такое «эффективность»,
  • отличать быстрый план от медленного,
  • читать простой график роста и называть три скорости: та же работа, по одному и намного больше.

1. Один ответ, разная скорость

Представь, что ты рассыпал коробку из 100 карандашей. Тебе нужно найти красный. Ты можешь брать карандаши по одному и проверять цвет каждого. Или друг даст тебе коробку, где карандаши уже разложены по цветам, и ты сразу идёшь к красным.

Оба плана находят красный карандаш. Но один требует намного больше шагов, чем другой. В программировании набор понятных шагов, решающий задачу, называют алгоритмом. У одной и той же задачи может быть быстрый алгоритм и медленный. Эффективность — это про то, сколько работы должен сделать план.

Правильный ответ, который приходит целую вечность, не очень помогает. Хорошие программисты ищут ответ и быстрый способ его получить.

2. Считай шаги, а не секунды

Быстрый и медленный компьютеры справятся за разное время, поэтому секунды могут нас обмануть. Вместо этого программисты считают шаги — сколько маленьких действий делает план. Подсчёт шагов работает на любом компьютере.

Важный вопрос не «сколько времени на 10 вещей?». Он такой: «что будет, когда вещей станет намного больше?» Если карандашей 10, проверять по одному — нормально. Если карандашей 1 000 000, «по одному» может занять весь день, а умный план всё равно закончит в мгновение.

У особого способа программистов говорить о том, «как растёт число шагов, когда растут данные», есть прозвище: Big-O (Большое О). Никакой сложной математики не нужно — думай об этом как о ярлыке, который говорит быстро, средне или медленно, когда всё становится больше.

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя