Метка: beginner

  • LeetCode #1: Two Sum

    от автора

    в

    Классическая задача для начала пути в спортивном программировании. Условие Дан массив целых чисел nums и число target. Найдите два индекса, сумма элементов на которых равна target. Решение на C++ Решение на Python Сложность Время: O(n) — один проход по массиву Память: O(n) — хэш-таблица для хранения элементов Альтернатива: можно отсортировать массив и использовать два указателя…

  • Связные списки на C++

    Что такое связный список? Связный список — это линейная структура данных, где каждый элемент (узел) содержит данные и указатель на следующий узел. В отличие от массива, элементы не хранятся в непрерывной памяти. Пример кода на C++ Преимущества и недостатки Плюсы: динамический размер, быстрая вставка/удаление в начале Минусы: нет прямого доступа к элементу по индексу, лишняя…

  • BFS и DFS: обход графов

    от автора

    в

    Что такое обход графов? Обход графа — это процесс посещения всех вершин графа. Существует два основных метода: BFS (поиск в ширину) и DFS (поиск в глубину). BFS (Breadth-First Search) — поиск в ширину BFS исследует все вершины на текущем уровне, прежде чем перейти к следующему. Использует очередь (queue). Пример кода BFS на C++ DFS (Depth-First…

  • Bubble Sort: от простого к эффективному

    от автора

    в

    Что такое сортировка пузырьком? Сортировка пузырьком (Bubble Sort) — один из самых простых алгоритмов сортировки. Он работает по принципу «пузырьков», которые медленно поднимаются на поверхность. Алгоритм последовательно сравнивает соседние элементы массива и меняет их местами, если они стоят в неправильном порядке. Пример кода на C++ Сложность Худший случай: O(n²) — массив отсортирован в обратном порядке…