Skip to content

C Implementation of Algorithms (aka. Spaghetti Source)

Notifications You must be signed in to change notification settings

john0xff/algorithm

 
 

Repository files navigation

C implementations of algorithms

These are my C implementations of algorithms, which are written for studying/understanding algorithms.

These codes are published in public domain. You can use the codes for any purpose without any warranty.

author: Takanori MAEHARA (e-mail: [email protected] / twitter: @tmaehara)

List

Combinatorics

Data structure

Dynamic programming

This category should be reorganized.

  • dynamic_programming/knapsack.cc
  • dynamic_programming/longest_increasing_subsequence.cc
  • dynamic_programming/minimum_coin_change.cc
  • dynamic_programming/rod_cutting.cc

Computational Geometry (2D)

  • geometry/!circle.cc
  • geometry/bk_tree.cc
  • geometry/convex_hull.cc
  • geometry/covered_range.cc
  • geometry/randomized_kd_tree.cc
  • geometry/rectangle_union.cc
  • geometry/rectilinear_mst.cc
  • geometry/vantage_point_tree.cc

Graph Algorithms

  • graph/arborescence.cc

  • graph/arborescence2.cc

  • graph/articulation_points.cc

  • graph/betweenness_centrality.cc

  • graph/bipartite_matching.cc

  • graph/bipartite_matching_HK.cc

  • graph/cycle_enumeration.cc

  • graph/dominator_tree.cc

  • graph/dynamic_reachability_dag.cc

  • graph/euler_tour_tree.cc

  • graph/eulerian_path_undirected.cc

  • graph/gabow_edmonds.cc

  • graph/gomory_hu_tree.cc

  • graph/hamilton_cycle_ore.cc

  • graph/is_bipartite.cc

  • graph/is_chordal.cc

  • graph/is_claw_free.cc

  • graph/is_cograph.cc

  • graph/is_graphic.cc

  • graph/isomorphism.cc

  • graph/kariv_hakimi.cc

  • graph/kcore.cc

  • graph/kruskal.cc

  • graph/least_common_ancestor_doubling.cc

  • graph/least_common_ancestor_heavylight.cc

  • graph/least_common_ancestor_sparsetable.cc

  • graph/least_common_ancestor_tarjan.cc

  • graph/link_cut_tree.cc

  • graph/maximal_cliques.cc

  • graph/maximum_cut.cc

  • Maximum Flow (Ford-Fulkerson)

  • Maximum Flow (Edmonds-Karp)

  • Maximum Flow (Dinic's blocking flow)

  • Maximum Flow (Goldberg-Tarjan's preflow-push)

  • Minimum Cost Maximum Flow (Tomizawa, Edmonds-Karp's successive shortest paths

  • Minimum Cost Maximum Flow (Goldberg-Tarjan's minimum mean cycle canceling

  • graph/minimum_feedback_arc_set.cc

  • graph/minimum_mean_cycle.cc

  • graph/reachability.cc

  • graph/shortest_path_st.cc

  • graph/strongly_connected_component_gabow.cc

  • graph/strongly_connected_component_kosaraju.cc

  • graph/strongly_connected_component_tarjan.cc

  • graph/transitive_reduction_dag.cc

  • graph/traveling_salesman.cc

  • graph/tree_decomposition.cc

  • graph/tree_isomorphism.cc

Mathematics

This category should be reorganized.

  • math/KaratsubaMultiplication.cc
  • math/ODE_dormand_prince.cc
  • math/ODE_runge_kutta.cc
  • math/SimplexMethodLP.cc
  • math/assignment.cc
  • math/fast_fourier_transform.cc
  • math/fast_modulo_transform.cc
  • math/find_min_unimodal.cc
  • math/integrate.cc
  • math/integrate_DE.cc
  • math/linear_recursion.cc
  • math/matrix_bool.cc
  • math/matrix_double.cc
  • math/permanent.cc
  • math/polynomial_int.cc
  • math/quadratic_equation.cc
  • math/satisfiability.cc
  • math/satisfiability_hornsat.cc
  • math/satisfiability_twosat.cc
  • math/zero_one_IP_solver.cc

Number theory

  • number_theory/carmichael_lambda.cc
  • number_theory/divisor_sigma.cc
  • number_theory/euler_phi.cc
  • number_theory/mobius_mu.cc
  • number_theory/modular_arithmetics.cc
  • number_theory/primes.cc

Other

This category should be reorganized.

Misc

About

C Implementation of Algorithms (aka. Spaghetti Source)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.7%
  • Python 0.3%