Репозиторий представляет собой коллекцию разнообразных алгоритмов, реализованных на C#. Алгоритмы охватывают широкий спектр тем, от информатики, математики и статистики, анализа данных, машинного обучения, инженерии и т. д. Реализации и связанная с ними документация предназначены для предоставления учебного ресурса преподавателям и студентам. Поэтому можно найти несколько реализаций для одной и той же задачи, но с использованием различных алгоритмических стратегий и оптимизаций.
- Алгоритмы
- Криптография
- Сжатие данных
- Кодировщики и шифры
- Алгоритмы графов
- Задача рюкзака
- Линейная алгебра
- Модульная арифметика
- Численные алгоритмы
- Системы рекомендаций
- Машинное обучение
- Алгоритмы поиска
- Алгоритмы сортировки
- Перемешивание (Shuffling)
- Последовательности
- Алгоритмы работы со стеком
- Алгоритмы для строк
- Другие алгоритмы
- Алгоритмические задачи
- Структуры данных
- Bag (мешок)
- Битовый массив
- Двусторонняя очередь
- Временная линия
- Деревья сегментов
- Деревья поиска
- Стек
- Кучи (Heap)
- Вероятностные структуры данных
- Очереди
- Связанные списки
- Графы
- Непересекающиеся множества
- Отсортированный список
- Инвертированный индекс
- Unrolled Linked List
- Trie (префиксное дерево)
- Хеш-таблица
- Кэш
- KrishnamurthyNumberChecker
- Automorphic Number
- Josephus Problem
- Newton's Square Root Calculation
- SoftMax Function
- Sequences
- A000002 Kolakoski
- A000004 Zero
- A000005 Count of Divisors
- A000008 Make Change
- A000010 Euler's Totient
- A000012 All Ones
- A000027 Natural
- A000032 Lucas Numbers
- A000040 Primes
- A000045 Fibonacci
- A000079 Powers of 2
- A000108 Catalan
- A000120 1's Counting
- A000124 Central Polygonal Numbers
- A000125 Cake Numbers
- A000142 Factorial
- A000213 Tribonacci Numbers
- A000215 Fermat Numbers
- A000288 Tetranacci Numbers
- A000290 Squares
- A000292 Tetrahedral numbers
- A000578 Cubes
- A000720 PrimePi
- A001146 Number of Boolean Functions
- A001462 Golomb's
- A001478 Negative Integers
- A002110 Primorial Numbers
- A002717 Matchstick Triangle Arrangement
- A005132 Recaman's
- A006577 Number of '3n+1' steps to reach 1
- A006862 Euclid Numbers
- A006879 Number of Primes by Number of Digits
- A006880 Number of Primes by Powers of 10
- A007318 Binomial
- A007395 All Twos
- A010051 Binary Prime Constant
- A010701 All Threes
- A011557 Powers of 10
- A057588 Kummer Numbers
- A019434 Fermat Primes
- A181391 Van Eck's
- Longest Consecutive Character
- Manacher's Algorithm
- Palindrome Checker
- Get all permutations of a string
- Other
- Fermat Prime Checker
- Sieve of Eratosthenes
- Kadane's Algorithm
- Luhn
- Int2Binary
- GeoLocation
- Mandelbrot
- Koch Snowflake
- RGB-HSV Conversion
- Flood Fill
- Pareto Optimization
- Gauss Optimization
- Decisions Convolutions
- Welford's Variance
- Julian Easter
- Pollard's Rho
- GeoLocation Hash
- Geofencing
- Triangulation Algorithm
- Binary Search Tree
- Scapegoat Tree
- Fenwick tree (or Binary Indexed Tree)
- AA Tree
- AVL Tree
- B-Tree
- Red-Black Tree
- Для сборки и запуска этого проекта теперь требуется .NET 8 SDK.
- Убедитесь, что ваши инструменты разработки совместимы с .NET 8
- После установки .NET 8 SDK вы можете собрать проект, используя стандартную команду dotnet build.
- Все существующие скрипты сборки были обновлены с учетом поддержки .NET 8 SDK.
- Наш полный набор модульных тестов обеспечивает совместимость с .NET 8.
- Запускайте тесты с помощью команды dotnet test как обычно.
Вы можете с удовольствием внести свой вклад в этот репозиторий. Пожалуйста, ознакомьтесь со структурой каталогов и общим стилем кода этого репозитория, и обратитесь к нашим рекомендациям по участию в проекте для получения более подробной информации. Если вы хотите задать вопрос или что-то предложить, пожалуйста, создайте заявку (issue).