Карта курса → Модуль 3 → Урок 3.1

Линейный поиск — ищем алмазы

Базовый поиск: проверяем элементы по очереди.

Линейный поиск — ищем алмазы

🎣 Hook

Туннель за туннелем ты проверяешь каждый блок, пока не найдёшь алмаз. Это линейный поиск.

🧠 Concept

Термины: list, dictionary, loop, function — пишем по-английски, объясняем по-русски.

Линейный поиск проходит коллекцию слева направо.

Псевдокод:
for элемент in данные:
если элемент == цель: вернуть индекс

Плюсы: простота.
Минусы: в худшем случае проверяем всё (O(n)).

🧩 Квиз +10 XP
Сложность линейного поиска в худшем случае?
A O(1)
B O(log n)
C O(n)
D O(n²)

🔧 Практика

Задание 1: укажи целевой ресурс и индекс его первого появления.

resources = ["уголь", "железо", "золото", "алмаз"]
target = "алмаз"
print(3)

Заполни пропуски в коде в своей тетради/редакторе. Ключевые ответы: алмаз/3.

Задание 2: заполни условие сравнения в цикле.

for r in resources:
    if r == target:
        print("Найдено")

Проверь себя: цель.

🧩 Квиз +10 XP
Когда линейный поиск особенно уместен?
A Очень маленькие списки
B Только отсортированные списки
C Только графы
D Никогда

🏗️ Сборка: мини-проект

Реализуй поиск предмета по имени в инвентаре и верни индекс или -1, если предмета нет.

👹 Мини-босс +120 XP

Комбинируем текущую тему с предыдущими навыками.

A Сделать без структуры, потом чинить
B Сначала план, затем реализация и проверка
C Копировать решение без понимания
D Пропустить тесты ради скорости

💭 Reflection

Теперь ты понимаешь базовый алгоритм поиска и можешь оценить его стоимость по времени.