Алгоритмы - C#
Все алгоритмы, внедренные в C# - для образовательных целей
Репозиторий представляет собой набор различных алгоритмов, реализованных в C#. Алгоритмы охватывают различные темы из информатики, математики и статистики, науки о данных, машинного обучения, инженерии и т. Д. Реализации и связанные с ними документации предназначены для предоставления учебного ресурса для преподавателей и студентов. Следовательно, можно найти более чем одну реализацию для одной и той же цели, но использовать различные стратегии и оптимизации различных алгоритмов.
Список алгоритмов
Алгоритмы
- Крипто
- Падки
- ISO 10125-2 Padding
- ISO 7816-4
- X9.32 прокладка
- TBC Padding
- PKCS7 Padding
- Дайджесты
- Ascon hash digest
- MD2 Digest
- Сжатие данных
- Burrows-Wheeler Transform
- Хаффман Компрессор
- Шеннон-Фано Компрессор
- Энкодеры
- Цезарь
- Vigenere
- Холм
- Nysiis
- Soundex
- Фейстел
- Выдувка
- График
- Минимальное охвативное дерево
- Алгоритм Прим (матрица смежности)
- Алгоритм Крускала
- Широкий
- Широкий результат
- DexifirstSearch
- Дейкстра самый короткий путь
- Флойдваршалл
- Косараджу
- Проблема рюкзака
- Наивный решатель
- Динамический решатель программирования
- Ветвь и решатель
- Iheuristicknapsacksolver
- Линейная алгебра
- Расстояния
- Chebyshev
- Евклидовый
- Манхэттен
- Минковский
- Собственное значение
- Модульная арифметика
- Китайская оставшаяся теорема
- Расширенный евклидовый алгоритм
- Модульный мультипликативный обратный
- Числовое
- Абсолютный
- Дополнение без арифметики
- Аликвосовая сумма калькулятора
- Изубельная проверка чисел
- Ceil
- Разложение
- LU разложение
- Тонкий единственный векторный разложение
- Пол
- Величайший общий делитель
- Евклидовый GCD
- Бинарный GCD
- Факторизация
- Факторизация пробной деления
- Модульное экспонент
- Ряд
- Гаусс-Джордан Устранение
- Биномиалкоэффим
- Факториал
- Keith Number Checker
- Псевдо нежелательный
- Нарциссическая проверка номеров
- Идеальный кубик
- Идеальная проверка номеров
- Идеальная квадратная проверка
- Метод Эйлера
- Классический метод Рунге-Кутта
- Проверка первичности Миллера
- Krishnamurthynumberchecker
- Автоморфический номер
- Проблема Иосифа
- Расчет Ньютона квадратного корня
- Функция Softmax
- Рекомендация
- Поиск
- A-Star
- Бинарный поиск
- Бойерморский поиск
- Быстрый поиск
- Поиск Фибоначчи
- Поиск интерполяции
- Прыгать поиск
- Линейный поиск
- Рекуртивный бинарный поиск
- Сортировки
- Сравнение
- Бинарная вставка
- Бого, сортируем
- Пузырьковые сортировки
- Коктейль
- Сортировка расчески
- Цикл
- Обмен
- Куча сортировки
- Вставка сортировки
- Слияние сортировки
- Блин
- Быстрый сортировка
- Медиана из трех стержней
- Средняя точка поворота
- Случайный стержень
- Выбор сортировки
- Shell Sort
- Тим Сорт
- Упрощенная Тим Сорт
- Внешний
- Целое число
- Счет
- Ведро сортировка
- Radix Sort
- Нить
- Шафляторы
- Последовательности
- A000002 Колакоски
- A000004 Zero
- A000005 Считается делителей
- A000008 внесите изменения
- A000010 Euler's Motient
- A000012 Все
- A000027 Natural
- A000032 Числа Лукаса
- A000040 PRIMES
- A000045 Fibonacci
- A000079 Powers 2
- A000108 Каталонский
- A000120 1 Считается
- А.000124 Центральные многоугольные номера
- A000125 Номера тортов
- A000142 Фактор
- A000213 Tribonacci Числа
- A000215 Числа Fermat
- A000288 Числа тетраначчи
- A000290 квадратов
- A000292 тетраэдрические номера
- A000578 кубиков
- A000720 Primepi
- A001146 Количество логических функций
- A001462 Golomb's
- A001478 Отрицательные целые числа
- A002110 ПРИОРМИРИИ
- A002717 Аранжировка треугольника A002717
- A005132 Recaman's
- A006577 Количество шагов 3n+1 'для достижения 1
- A006862 Euclid Numbers
- A006879 Количество простых чисел по количеству цифр
- A006880 Количество простых чисел по полномочиям 10
- A007318 BINOMIAL
- A007395 Все двое
- A010051 Бинарная первичная константа
- A010701 Все тройки
- A011557 Powers 10
- A057588 Kummer Numbers
- A019434 Fermat Primes
- A181391 Van Eck's
- Куча
- Следующее большее элемент
- Сбалансированная швара в скобках
- Обратный стек
- Нить
- Сходство
- Косинус сходство
- Damerau-levenshtein расстояние
- Расстояние Хэминга
- Сходство яроро
- Джаро-Винклер расстояние
- Оптимальное выравнивание строки
- Соответствие рисунка
- Bitop Pattern Matching
- Наивный поиск строки
- Рабин Карп
- Бойер Мур
- Кнут - Моррис - Пратт Поиск
- Образец подстановочного знака
- Z-Block Substring Search
- Самый длинный последовательный характер
- Palindrome Checker
- Получите все перестановки строки
- Другой
- Fermat Prime Checker
- Сито Эратостена
- Лун
- Int2binary
- Геолокация
- Мандельброт
- Кох Снежинка
- Конверсия RGB-HSV
- Наводнение
- Парето оптимизация
- Оптимизация Гаусса
- Решения. Своивание
- Разница в Уэлфорде
- Джулианская Пасха
- Поллардс Rho
- Геолокационная хеш
- Геозона
- Алгоритм триангуляции
- Проблемы
- Стабильный брак
- Шарнир
- Принятие
- Предложенный
- N-Queens
- Динамическое программирование
- Изменение монеты
- Левенштейн расстояние
Структуры данных
- Бит массив
- Временная шкала
- Деревья сегмента
- Дерево сегмента
- Умножение дерева сегмента
- Обновление дерева сегмента
- Дерево бинарного поиска
- Дерево отпущения отпущения
- Дерево Фенвика (или двоичное проиндексированное дерево)
- Аааааааааааааааааааааааааааааааааааа
- AVL Tree
- Красное черное дерево
- Куча
- Стек на основе массива
- Список стека
- Стек на основе очередей
- Куча
- Мин-максовая куча
- Двоичная куча
- Фибоначчи Хип
- Куча сочетания
- Вероятное
- Bloomfilter
- Граф-мин. Эскиз
- Гиперлог
- Очередь
- Очередь на основе массива
- Список очередей
- Основная очередь на основе стека
- Связанный список
- По отдельности связанный список
- Вдвойне связанный список
- Список пропуска
- Круговой связанный список
- График
- Направленный взвешенный график через смежную матрицу
- Несомненно, набор
- SortedList
- Перевернутый индекс
- Развернутый связанный список
- Пытается
- Хэштат
- Кеш
- Наименьший часто используемый (LFU) кэш
- Наименьший недавно используемый (LRU) кэш
Обновление проекта: .net 8 миграция
В рамках наших постоянных усилий, направленных на то, чтобы быть в курсе последних технологий, мы перенесли наш проект на .NET 8. Это обновление улучшает наш проект с последними функциями и улучшениями от экосистемы .NET.
Новые требования
- Чтобы создать и запустить этот проект, теперь требуется .NET 8 SDK .
- Убедитесь, что ваши инструменты разработки совместимы с .NET 8.
Создание проекта
- С установленным .NET 8 SDK вы можете создать проект, используя стандартную команду
dotnet build . - Все существующие сценарии сборки были обновлены для размещения .NET 8 SDK.
Заводящие тесты
- Наш комплексный набор модульных тестов обеспечивает совместимость с .NET 8.
- Запустите тесты, используя команду
dotnet test как обычно.
Внося
Вы можете внести свой вклад с удовольствием для этого репозитория. Пожалуйста, ориентируйтесь на структуру каталогов и общий стиль кода этого репозитория и обратитесь к нашим рекомендациям для получения более подробной информации. Если вы хотите задать вопрос или предложить что -то, пожалуйста, откройте проблему.