Algorithms & Data Structures
Мои реализации некоторых алгоритмов и структур данных на C++
bignum arithmetic
длинная арифметика
- Big sum (Длинное + длинное)
- Big difference (Длинное - длинное)
- Big multiplication (Длинное x длинное)
- Big division (Длинное / короткое)
graph traversals
обходы графов
graph shortest path
алгоритмы поиска кратчайшего пути в графе
- Floyd–Warshall algorithm (Алгоритм Флойда)
- Dijkstra’s algorithm (Алгоритм Дейстры)
- Bellman–Ford algorithm (Алгоритм Форда-Беллмана)
graphs algorithms
алгоритмы на графах
- Bridge search (Алгоритм поиска мостов в графе)
- Cutpoints search (Алгоритм поиска точек сочленения а графе)
- Dinic’s algorithm (Алгоритм Диница находжения максимального потока)
data structures
структуры данных
- Doubly linked list (Двухсвязный список)
LIFO
Stack (Стэк)- Segment tree (Дерево отрезков)
- Recurrent segment tree (Рекурсивное дерево отрезков)
- Digital tree (Бор)
substrings search algorithms
алгоритмы поиска подстроки в строке
- Aho–Corasick algoritms (Алгоритм Ахо-Корасика)
- Knuth–Morris–Pratt algorithm (Алгоритм Кнута-Морриса-Пратта)
other
- Sieve of Eratosthenes (Решето Эратосфена)
- Brute force (Генератор для полного перебора)
C(n,k)
(Вычисление сочетания изn
поk
)- Combination generating (Генерация всех сочетаний из
n
поk
) - Speed power (Быстрое возведение в степень)
by @drapegnik, january’14 - november’14