Поиск и сортировка: первые алгоритмы для школьников

Поиск и сортировка — базовые алгоритмы, с которых начинается серьезное программирование для школьников. Поиск отвечает на вопрос “есть ли нужный элемент и где он находится”, а…

Краткий ответ

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

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

Самый простой вариант — линейный поиск. Программа просматривает элементы один за другим и останавливается, когда находит нужное значение.

numbers = [8, 3, 15, 6]
target = 15
position = -1

for index, value in enumerate(numbers):
    if value == target:
        position = index
        break

print(position)

Если элемент найден, выводится его индекс. Если нет, остается -1. Такой прием часто используется в задачах на списки, строки, таблицы и анализ результатов.

Поиск минимума и максимума

Поиск максимума — тоже перебор. Важно брать начальное значение из самого списка, а не придумывать “очень маленькое число”.

numbers = [-7, -3, -12]
maximum = numbers[0]

for number in numbers:
    if number > maximum:
        maximum = number

print(maximum)

Если начать с нуля, ответ для списка отрицательных чисел будет неверным.

Зачем нужна сортировка

Сортировка помогает быстро увидеть порядок: минимальные и максимальные значения, медиану, одинаковые элементы, ближайшие результаты. В Python для учебных задач можно использовать sorted(), но полезно понимать идею сортировки выбором.

numbers = [5, 2, 9, 1]

for i in range(len(numbers)):
    min_index = i

    for j in range(i + 1, len(numbers)):
        if numbers[j] < numbers[min_index]:
            min_index = j

    numbers[i], numbers[min_index] = numbers[min_index], numbers[i]

print(numbers)

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

Для школьника главное — видеть шаблон. Поиск, максимум, минимум и сортировка строятся вокруг одного действия: перебрать элементы и обновить ответ по правилу.

Что важно запомнить

https://yadro-code.ru/lessons/without-university/school-programming-basics/school-programming-12