├── .gitattributes ├── .gitignore ├── LICENSE.txt ├── README.md ├── complete_search ├── eight_queens.cpp ├── exact_cover.cpp ├── hamiltonian_paths.cpp ├── k-colorable.cpp ├── knapsack_branch_and_bound.cpp ├── maze_backtracking.cpp └── subset_gen.cpp ├── data_structures ├── binary_heap.cpp ├── bst.cpp ├── circular_queue.cpp ├── queue_with_2stacks.cpp ├── trie.cpp └── union_find.cpp ├── divide_and_conquer ├── binary_search.cpp └── quick_select.cpp ├── dynamic_programming ├── binomial_coeffs.cpp ├── coin_change.cpp ├── knapsack_dp.cpp ├── longest_common_substring │ ├── lcs.in │ ├── lcs.out │ └── longest_common_substring.cpp ├── matrix_chain.cpp ├── max_subarray_sum.cpp └── string_alignment.cpp ├── graphs ├── BFS.cpp ├── DFS.cpp ├── apsp_floyd_warshall.cpp ├── bipartite_check.cpp ├── flood_fill.cpp ├── max_flow_edmonds_karp.cpp ├── topological_sort │ ├── data │ │ ├── graph.in │ │ └── sorted.out │ └── topological_sort_kahn.cpp └── topological_sort_tarjan.cpp ├── greedy ├── coin_change_greedy.cpp ├── huffman_coding.cpp ├── interval_schedule │ ├── data │ │ ├── interval_schedule.in │ │ └── interval_schedule.out │ └── interval_schedule.cpp ├── knapsack_greedy.cpp └── mst_kruskal.cpp ├── machine_learning ├── alpha_beta_pruning.cpp ├── dpmeans │ ├── CMakeLists.txt │ ├── data │ │ ├── iris_data.txt │ │ └── iris_labels.txt │ ├── dpmeans.cpp │ └── dpmeans.hpp ├── kdtree.cpp ├── lbfgs │ └── lbfgs_simple.cpp ├── logreg │ ├── logreg.cpp │ └── logreg.hpp └── perceptron │ ├── data │ ├── iris_data.txt │ └── iris_labels.txt │ ├── perceptron.cpp │ └── perceptron.hpp ├── misc ├── connected_components.cpp ├── cycle_detection_floyd.cpp ├── fast_power.cpp ├── fisher_yates_shuffle.cpp ├── flood_fill.cpp ├── intersection.cpp ├── is_convex.cpp ├── matching_parentheses.cpp ├── matrix_spiral.cpp ├── permutations.cpp ├── sieve_of_eratosthenes.cpp ├── sliding_window.cpp ├── string_matching.cpp ├── tower_of_hanoi.cpp └── two_pointers.cpp ├── notebooks ├── eigen.ipynb └── xtensor.ipynb ├── sorting ├── bucket_sort.cpp ├── heap_sort.cpp ├── insertion_sort.cpp ├── merge_sort.cpp ├── quick_sort.cpp ├── radix_sort.cpp └── selection_sort.cpp └── trees ├── tree_diameter.cpp ├── tree_isSymmetric.cpp ├── tree_isValidBST.cpp ├── tree_level_order.cpp ├── tree_traversal.cpp └── tree_vertical_order.cpp /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/README.md -------------------------------------------------------------------------------- /complete_search/eight_queens.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/complete_search/eight_queens.cpp -------------------------------------------------------------------------------- /complete_search/exact_cover.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/complete_search/exact_cover.cpp -------------------------------------------------------------------------------- /complete_search/hamiltonian_paths.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/complete_search/hamiltonian_paths.cpp -------------------------------------------------------------------------------- /complete_search/k-colorable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/complete_search/k-colorable.cpp -------------------------------------------------------------------------------- /complete_search/knapsack_branch_and_bound.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/complete_search/knapsack_branch_and_bound.cpp -------------------------------------------------------------------------------- /complete_search/maze_backtracking.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/complete_search/maze_backtracking.cpp -------------------------------------------------------------------------------- /complete_search/subset_gen.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/complete_search/subset_gen.cpp -------------------------------------------------------------------------------- /data_structures/binary_heap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/data_structures/binary_heap.cpp -------------------------------------------------------------------------------- /data_structures/bst.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/data_structures/bst.cpp -------------------------------------------------------------------------------- /data_structures/circular_queue.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/data_structures/circular_queue.cpp -------------------------------------------------------------------------------- /data_structures/queue_with_2stacks.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/data_structures/queue_with_2stacks.cpp -------------------------------------------------------------------------------- /data_structures/trie.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/data_structures/trie.cpp -------------------------------------------------------------------------------- /data_structures/union_find.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/data_structures/union_find.cpp -------------------------------------------------------------------------------- /divide_and_conquer/binary_search.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/divide_and_conquer/binary_search.cpp -------------------------------------------------------------------------------- /divide_and_conquer/quick_select.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/divide_and_conquer/quick_select.cpp -------------------------------------------------------------------------------- /dynamic_programming/binomial_coeffs.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/dynamic_programming/binomial_coeffs.cpp -------------------------------------------------------------------------------- /dynamic_programming/coin_change.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/dynamic_programming/coin_change.cpp -------------------------------------------------------------------------------- /dynamic_programming/knapsack_dp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/dynamic_programming/knapsack_dp.cpp -------------------------------------------------------------------------------- /dynamic_programming/longest_common_substring/lcs.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/dynamic_programming/longest_common_substring/lcs.in -------------------------------------------------------------------------------- /dynamic_programming/longest_common_substring/lcs.out: -------------------------------------------------------------------------------- 1 | 3 2 | 7 8 9 3 | -------------------------------------------------------------------------------- /dynamic_programming/longest_common_substring/longest_common_substring.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/dynamic_programming/longest_common_substring/longest_common_substring.cpp -------------------------------------------------------------------------------- /dynamic_programming/matrix_chain.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/dynamic_programming/matrix_chain.cpp -------------------------------------------------------------------------------- /dynamic_programming/max_subarray_sum.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/dynamic_programming/max_subarray_sum.cpp -------------------------------------------------------------------------------- /dynamic_programming/string_alignment.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/dynamic_programming/string_alignment.cpp -------------------------------------------------------------------------------- /graphs/BFS.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/graphs/BFS.cpp -------------------------------------------------------------------------------- /graphs/DFS.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/graphs/DFS.cpp -------------------------------------------------------------------------------- /graphs/apsp_floyd_warshall.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/graphs/apsp_floyd_warshall.cpp -------------------------------------------------------------------------------- /graphs/bipartite_check.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/graphs/bipartite_check.cpp -------------------------------------------------------------------------------- /graphs/flood_fill.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/graphs/flood_fill.cpp -------------------------------------------------------------------------------- /graphs/max_flow_edmonds_karp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/graphs/max_flow_edmonds_karp.cpp -------------------------------------------------------------------------------- /graphs/topological_sort/data/graph.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/graphs/topological_sort/data/graph.in -------------------------------------------------------------------------------- /graphs/topological_sort/data/sorted.out: -------------------------------------------------------------------------------- 1 | 1 2 3 4 2 | -------------------------------------------------------------------------------- /graphs/topological_sort/topological_sort_kahn.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/graphs/topological_sort/topological_sort_kahn.cpp -------------------------------------------------------------------------------- /graphs/topological_sort_tarjan.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/graphs/topological_sort_tarjan.cpp -------------------------------------------------------------------------------- /greedy/coin_change_greedy.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/greedy/coin_change_greedy.cpp -------------------------------------------------------------------------------- /greedy/huffman_coding.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/greedy/huffman_coding.cpp -------------------------------------------------------------------------------- /greedy/interval_schedule/data/interval_schedule.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/greedy/interval_schedule/data/interval_schedule.in -------------------------------------------------------------------------------- /greedy/interval_schedule/data/interval_schedule.out: -------------------------------------------------------------------------------- 1 | max number of workshops: 4 2 | -------------------------------------------------------------------------------- /greedy/interval_schedule/interval_schedule.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/greedy/interval_schedule/interval_schedule.cpp -------------------------------------------------------------------------------- /greedy/knapsack_greedy.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/greedy/knapsack_greedy.cpp -------------------------------------------------------------------------------- /greedy/mst_kruskal.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/greedy/mst_kruskal.cpp -------------------------------------------------------------------------------- /machine_learning/alpha_beta_pruning.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/alpha_beta_pruning.cpp -------------------------------------------------------------------------------- /machine_learning/dpmeans/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/dpmeans/CMakeLists.txt -------------------------------------------------------------------------------- /machine_learning/dpmeans/data/iris_data.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/dpmeans/data/iris_data.txt -------------------------------------------------------------------------------- /machine_learning/dpmeans/data/iris_labels.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/dpmeans/data/iris_labels.txt -------------------------------------------------------------------------------- /machine_learning/dpmeans/dpmeans.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/dpmeans/dpmeans.cpp -------------------------------------------------------------------------------- /machine_learning/dpmeans/dpmeans.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/dpmeans/dpmeans.hpp -------------------------------------------------------------------------------- /machine_learning/kdtree.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/kdtree.cpp -------------------------------------------------------------------------------- /machine_learning/lbfgs/lbfgs_simple.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/lbfgs/lbfgs_simple.cpp -------------------------------------------------------------------------------- /machine_learning/logreg/logreg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/logreg/logreg.cpp -------------------------------------------------------------------------------- /machine_learning/logreg/logreg.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/logreg/logreg.hpp -------------------------------------------------------------------------------- /machine_learning/perceptron/data/iris_data.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/perceptron/data/iris_data.txt -------------------------------------------------------------------------------- /machine_learning/perceptron/data/iris_labels.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/perceptron/data/iris_labels.txt -------------------------------------------------------------------------------- /machine_learning/perceptron/perceptron.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/perceptron/perceptron.cpp -------------------------------------------------------------------------------- /machine_learning/perceptron/perceptron.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/machine_learning/perceptron/perceptron.hpp -------------------------------------------------------------------------------- /misc/connected_components.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/connected_components.cpp -------------------------------------------------------------------------------- /misc/cycle_detection_floyd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/cycle_detection_floyd.cpp -------------------------------------------------------------------------------- /misc/fast_power.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/fast_power.cpp -------------------------------------------------------------------------------- /misc/fisher_yates_shuffle.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/fisher_yates_shuffle.cpp -------------------------------------------------------------------------------- /misc/flood_fill.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/flood_fill.cpp -------------------------------------------------------------------------------- /misc/intersection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/intersection.cpp -------------------------------------------------------------------------------- /misc/is_convex.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/is_convex.cpp -------------------------------------------------------------------------------- /misc/matching_parentheses.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/matching_parentheses.cpp -------------------------------------------------------------------------------- /misc/matrix_spiral.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/matrix_spiral.cpp -------------------------------------------------------------------------------- /misc/permutations.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/permutations.cpp -------------------------------------------------------------------------------- /misc/sieve_of_eratosthenes.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/sieve_of_eratosthenes.cpp -------------------------------------------------------------------------------- /misc/sliding_window.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/sliding_window.cpp -------------------------------------------------------------------------------- /misc/string_matching.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/string_matching.cpp -------------------------------------------------------------------------------- /misc/tower_of_hanoi.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/tower_of_hanoi.cpp -------------------------------------------------------------------------------- /misc/two_pointers.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/misc/two_pointers.cpp -------------------------------------------------------------------------------- /notebooks/eigen.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/notebooks/eigen.ipynb -------------------------------------------------------------------------------- /notebooks/xtensor.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/notebooks/xtensor.ipynb -------------------------------------------------------------------------------- /sorting/bucket_sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/sorting/bucket_sort.cpp -------------------------------------------------------------------------------- /sorting/heap_sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/sorting/heap_sort.cpp -------------------------------------------------------------------------------- /sorting/insertion_sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/sorting/insertion_sort.cpp -------------------------------------------------------------------------------- /sorting/merge_sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/sorting/merge_sort.cpp -------------------------------------------------------------------------------- /sorting/quick_sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/sorting/quick_sort.cpp -------------------------------------------------------------------------------- /sorting/radix_sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/sorting/radix_sort.cpp -------------------------------------------------------------------------------- /sorting/selection_sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/sorting/selection_sort.cpp -------------------------------------------------------------------------------- /trees/tree_diameter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/trees/tree_diameter.cpp -------------------------------------------------------------------------------- /trees/tree_isSymmetric.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/trees/tree_isSymmetric.cpp -------------------------------------------------------------------------------- /trees/tree_isValidBST.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/trees/tree_isValidBST.cpp -------------------------------------------------------------------------------- /trees/tree_level_order.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/trees/tree_level_order.cpp -------------------------------------------------------------------------------- /trees/tree_traversal.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/trees/tree_traversal.cpp -------------------------------------------------------------------------------- /trees/tree_vertical_order.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsmolyakov/cpp/HEAD/trees/tree_vertical_order.cpp --------------------------------------------------------------------------------