This repository contains implementations of various algorithms ordered by increasing complexity. Each algorithm has its own folder containing a README.md
file that can be filled with specific details about the implementation and usage of the algorithm.
- bubble_sort
- linear_search
- insertion_sort
- selection_sort
- binary_search
- jump_search
- exponential_search
- interpolation_search
- linked_list_operations
- doubly_linked_list_operations
- stack_operations
- queue_operations
- deque_operations
- priority_queue_operations
- hashing_separate_chaining
- hashing_open_addressing
- cuckoo_hashing
- lru_cache
- knuth_morris_pratt
- rabin_karp
- boyer_moore
- aho_corasick
- longest_palindromic_substring
- z_algorithm
- suffix_tree_construction
- suffix_array_construction
- dijkstras_algorithm
- bellman_ford_algorithm
- floyd_warshall_algorithm
- kruskals_algorithm
- prims_algorithm
- fibonacci_sequence
- knapsack_problem
- longest_common_subsequence
- longest_increasing_subsequence
- matrix_chain_multiplication
- edit_distance
- coin_change_problem
- subset_sum_problem
- rod_cutting_problem
- fractional_knapsack_problem
- huffman_coding
- activity_selection_problem
- job_sequencing_problem
- minimum_number_of_platforms_required
- greedy_coloring
- segment_tree_operations
- fenwick_tree_operations
- b_tree_operations
- trie_operations
- splay_tree_operations
- interval_tree_operations
- tarjans_strongly_connected_components
- johnsons_algorithm
- ford_fulkerson_algorithm
- edmonds_karp_algorithm
- a_star_search_algorithm
- convex_hull_graham_scan
- convex_hull_jarvis_march
- line_intersection
- closest_pair_of_points
- voronoi_diagram
- delaunay_triangulation
- bentley_ottmann_algorithm
- euclidean_algorithm
- sieve_of_eratosthenes
- sieve_of_atkin
- fermats_little_theorem
- chinese_remainder_theorem
- modular_exponentiation
- miller_rabin_primality_test
- pollards_rho_algorithm
- rsa_algorithm
- diffie_hellman_key_exchange
- elliptic_curve_cryptography
- advanced_encryption_standard
- data_encryption_standard
- triple_des
- md5_hash_function
- sha1_hash_function
- sha2_hash_functions
- sha3_hash_functions
- blowfish
- twofish
- linear_regression
- logistic_regression
- decision_trees
- random_forests
- support_vector_machines
- k_nearest_neighbors
- naive_bayes
- k_means_clustering
- principal_component_analysis
- gradient_boosting
- adaboost
- neural_networks
- convolutional_neural_networks
- recurrent_neural_networks
- long_short_term_memory
- generative_adversarial_networks
- fast_fourier_transform
- discrete_fourier_transform
- karatsuba_multiplication
- strassens_matrix_multiplication
- floyds_cycle_detection_algorithm
- reservoir_sampling
- monte_carlo_algorithm
- markov_chain_monte_carlo
- simulated_annealing
- genetic_algorithms
- bloom_filter
- skip_list
- pagerank_algorithm
- mapreduce
- newton_raphson_method
- bisection_method
- secant_method
- gauss_seidel_method
- lu_decomposition
- cholesky_decomposition
- singular_value_decomposition
- qr_decomposition
- gradient_descent
- conjugate_gradient_method