Алгоритм лаборатория
Добро пожаловать в репозиторий лаборатории алгоритма ! Этот проект содержит реализации различных алгоритмов, предназначенных для того, чтобы служить ресурсом для обучения, ссылки и сотрудничества. Если вы студент, разработчик или просто кто -то, кто интересуется алгоритмами, вы найдете здесь полезный код и объяснения.
Алгоритмы включены
Алгоритмы поиска
- Линейный поиск : простой алгоритм поиска, который проверяет каждый элемент списка до тех пор, пока не будет найден желаемый элемент.
- Бинарный поиск : эффективный алгоритм для поиска элемента из отсортированного списка элементов, снижая сложность времени до O (log n).
Графические алгоритмы
- Поиск по ширине (BFS) : алгоритм для пересечения или поиска структур данных дерева или графа, начиная с корневого узла и исследуя всех соседей на нынешней глубине, прежде чем перейти к узлам на следующем уровне глубины.
- Поиск по глубине (DFS) : алгоритм для пересечения или поиска структур данных дерева или графа, начиная с корня и исследуя как можно дальше вдоль каждой ветви перед возвращением.
Сортировка алгоритмов
- Сорт-сортировка : алгоритм разделения и контроля, который разбивает массив на половины, сортирует их, а затем объединяет их вместе.
- Быстрый сортировка : эффективный, на месте, алгоритм сортировки разделения и контроля.
Структуры данных
- Алгоритм кучи : реализация структуры данных кучи и связанных с ними операций.
Динамическое программирование
- Алгоритм разрезания стержня : проблема оптимизации, которая включает в себя разрезание стержня на более мелкие кусочки, чтобы максимизировать прибыль.
Файлы
-
linear_search.cpp : реализация алгоритма линейного поиска. -
binary_search.cpp : реализация алгоритма бинарного поиска. -
breadth_first_search.cpp : реализация алгоритма поиска в ширине. -
depth_first_search.cpp : реализация алгоритма поиска в глубине. -
heap_algorithm.cpp : реализация алгоритма кучи. -
merge_sort.cpp : реализация алгоритма сортировки Merge. -
quicksort.cpp : реализация алгоритма быстрого сортировки. -
rod_cutting.cpp : реализация алгоритма разрезания стержня.
Руководящие принципы вклада
Мы приветствуем вклад сообщества! Вот несколько способов внести свой вклад:
- Ошибки отчетов : если вы найдете какие -либо ошибки или проблемы, сообщите о них, используя трекер выпуска.
- Улучшение документации : Помогите нам улучшить документацию и облегчить для других кода.
- Оптимизировать код : предложить оптимизацию или улучшения существующих реализаций.
- Добавьте новые алгоритмы : если здесь есть алгоритм, который здесь не покрывается, не стесняйтесь реализовать и отправлять запрос на привлечение.
Как внести свой вклад
- Вилка репозитория на GitHub.
- Клонировать свою вилку на локальную машину, используя следующую команду:
git clone https://github.com/imashiqe/algorithm_lab.git
- Создайте новую ветку для вашей функции или исправления ошибок.
- Сделайте свои изменения с четким описанием того, что вы сделали.
- Нажмите к своей ветке на GitHub.
- Отправьте запрос на тягу в основной репозиторий.
Лицензия
Этот проект лицензирован по лицензии MIT - для получения подробной информации см. Файл лицензии.