Сбор данных и алгоритмов Java
Этот репозиторий содержит примеры образовательного кода для различных структур данных и алгоритмов, реализованных в Java. Он предназначен для того, чтобы помочь учащимся понять и применять фундаментальные концепции в структурах данных и алгоритмах. Каждый файл и папка включают подробные комментарии, чтобы объяснить код и концепции.
Содержимое
Структуры данных
Основные структуры данных
- Множество
- Связанный список
- По отдельности связанный список
- Вдвойне связанный список
- Круговой связанный список
- Куча
- Очередь
- Приоритетная очередь
- Хэш -таблица
- Набор
- Карта
Деревья
- Бинарное дерево
- Дерево бинарного поиска (BST)
- AVL Tree
- Красное черное дерево
- Дерево сегмента
- Дерево Фенвика (бинарное проиндексированное дерево)
- Тройное дерево
- N-Ary Tree
Графики
- Направленный график
- Недопроизвольный график
- Взвешенный график
Алгоритмы
Сортировка алгоритмов
- Пузырьковые сортировки
- Выбор сортировки
- Вставка сортировки
- Слияние сортировки
- Быстрый сортировка
- Куча сортировки
- Счет
- Radix Sort
- Ведро сортировка
- Бинго
- Shell Sort
- Сортировка расчески
- Коктейль
Поиск алгоритмов
- Линейный поиск
- Бинарный поиск
- Глубина первый поиск (DFS)
- Ширина первого поиска (BFS)
- Прыгать поиск
- Поиск Фибоначчи
Графические алгоритмы
- Алгоритм Дейкстры
- Алгоритм Bellman-Ford
- Флойд-Варшалл Алгоритм
- Алгоритм Крускала
- Алгоритм Прима
- Топологический вид
- А алгоритм поиска
- Алгоритм Хаффмана
Динамическое программирование
- Серия Фибоначчи
- Самая длинная общая последующая последовательность (LCS)
- Самая продолжительная подпоследовательность (LIS)
- Матричная цепочка умножение
Дискретные математические и комбинаторные алгоритмы
- Перестановки и комбинации
- Подмножество сумм проблемы
- Проблема с продавцом (TSP)
- График раскраски
Как использовать
Каждый файл и папку Java названы для обозначения структуры данных или алгоритма, который он охватывает. Например, в папке Algorithms папка 1-sorting_algorithms содержит 1-bubble_sort , которая занимается алгоритмом сортировки пузырьков в Java.
Внося
Если вы хотите внести свой вклад в этот репозиторий, не стесняйтесь отправлять запрос на тягу. Вы можете добавить новые примеры, улучшить существующий код или исправить любые проблемы. Вклад всех уровней приветствуются!
Лицензия
Этот репозиторий лицензирован по лицензии MIT. См. Файл лицензии для получения дополнительной информации.
Примечание. Этот репозиторий предназначен для образовательных целей, чтобы помочь изучить и понять структуры данных и алгоритмы в Java.
Не забудьте снять репозиторий, если вы найдете его полезным!