Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/icherya/coursera-data-structures-algorithms
๐ Coursera: Data Structures and Algorithms Specialization | JavaScript
https://github.com/icherya/coursera-data-structures-algorithms
algorithms binary-search-tree data-structures data-structures-and-algorithms dynamic-programming graph-algorithms greedy-algorithm hash-algorithm heap heuristics javascript js minimum-spanning-trees priority-queue search-algorithms shortest-paths sorting-algorithms tree-structure
Last synced: about 1 month ago
JSON representation
๐ Coursera: Data Structures and Algorithms Specialization | JavaScript
- Host: GitHub
- URL: https://github.com/icherya/coursera-data-structures-algorithms
- Owner: iCherya
- Created: 2020-11-04T11:54:39.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-03-15T17:54:23.000Z (almost 4 years ago)
- Last Synced: 2024-11-06T06:44:45.512Z (3 months ago)
- Topics: algorithms, binary-search-tree, data-structures, data-structures-and-algorithms, dynamic-programming, graph-algorithms, greedy-algorithm, hash-algorithm, heap, heuristics, javascript, js, minimum-spanning-trees, priority-queue, search-algorithms, shortest-paths, sorting-algorithms, tree-structure
- Language: JavaScript
- Homepage:
- Size: 14.2 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Coursera | Data Structures and Algorithms Specialization
This repository contains Javascript solutions for [Data Structures and Algorithms Specialization](https://www.coursera.org/specializations/data-structures-algorithms). All program assignments can be found inside the course weeks directory.
## [Algorithmic Toolbox](/1-algorithmic-toolbox/)
### Programming Challenges
- [Sum of Two Digits](/1-algorithmic-toolbox/week1_programming_challenges/1_sum_of_two_digits/APlusB.js)
- [Maximum Pairwise Product](/1-algorithmic-toolbox/week1_programming_challenges/2_maximum_pairwise_product/max_pairwise_product.js)### Algorithmic Warm-up
- [Fibonacci Number](/1-algorithmic-toolbox/week2_algorithmic_warmup/1_fibonacci_number/fibonacci.js)
- [Last Digit of a Large Fibonacci Number](/1-algorithmic-toolbox/week2_algorithmic_warmup/2_last_digit_of_fibonacci_number/fibonacci_last_digit.js)
- [Greatest Common Divisor](/1-algorithmic-toolbox/week2_algorithmic_warmup/3_greatest_common_divisor/gcd.js)
- [Least Common Multiple](/1-algorithmic-toolbox/week2_algorithmic_warmup/4_least_common_multiple/lcm.js)
- [Fibonacci Number Again](/1-algorithmic-toolbox/week2_algorithmic_warmup/5_fibonacci_number_again/fibonacci_huge.js)
- [Last Digit of the Sum of Fibonacci Numbers](/1-algorithmic-toolbox/week2_algorithmic_warmup/6_last_digit_of_the_sum_of_fibonacci_numbers/fibonacci_sum.js)
- [Last Digit of the Sum of Fibonacci Numbers Again](/1-algorithmic-toolbox/week2_algorithmic_warmup/7_last_digit_of_the_sum_of_fibonacci_numbers_again/fibonacci_partial_sum.js)
- [Last Digit of the Sum of Squares of Fibonacci Numbers](/1-algorithmic-toolbox/week2_algorithmic_warmup/8_last_digit_of_the_sum_of_squares_of_fibonacci_numbers/fibonacci_sum_of_squares.js)### Greedy Algorithms
- [Money Change](/1-algorithmic-toolbox/week3_greedy_algorithms/1_money_change/change.js)
- [Maximum Value of the Loot](/1-algorithmic-toolbox/week3_greedy_algorithms/2_maximum_value_of_the_loot/fractional_knapsack.js)
- [Car Fueling](/1-algorithmic-toolbox/week3_greedy_algorithms/3_car_fueling/car_fueling.js)
- [Maximum Advertisement Revenue](/1-algorithmic-toolbox/week3_greedy_algorithms/4_maximum_advertisement_revenue/dot_product.js)
- [Collecting Signatures](/1-algorithmic-toolbox/week3_greedy_algorithms/5_collecting_signatures/covering_segments.js)
- [Maximum Number of Prizes](/1-algorithmic-toolbox/week3_greedy_algorithms/6_maximum_number_of_prizes/different_summands.js)
- [Maximum Salary](/1-algorithmic-toolbox/week3_greedy_algorithms/7_maximum_salary/largest_number.js)### Divide and Conquer
- [Binary Search](/1-algorithmic-toolbox/week4_divide_and_conquer/1_binary_search/binary_search.js)
- [Majority Element](/1-algorithmic-toolbox/week4_divide_and_conquer/2_majority_element/majority_element.js)
- [Improving Quick Sort](/1-algorithmic-toolbox/week4_divide_and_conquer/3_improving_quicksort/sorting.js)
- [Number of Inversions](/1-algorithmic-toolbox/week4_divide_and_conquer/4_number_of_inversions/inversions.js)
- [Organizing a Lottery](/1-algorithmic-toolbox/week4_divide_and_conquer/5_organizing_a_lottery/points_and_segments.js)
- [Closest Points](/1-algorithmic-toolbox/week4_divide_and_conquer/6_closest_points/closest.js)### Dynamic Programming 1
- [Money Change Again](/1-algorithmic-toolbox/week5_dynamic_programming1/1_money_change_again/change_dp.js)
- [Primitive Calculator](/1-algorithmic-toolbox/week5_dynamic_programming1/2_primitive_calculator/primitive_calculator.js)
- [Edit Distance](/1-algorithmic-toolbox/week5_dynamic_programming1/3_edit_distance/edit_distance.js)
- [Longest Common Subsequence of Two Sequences](/1-algorithmic-toolbox/week5_dynamic_programming1/4_longest_common_subsequence_of_two_sequences/lcs2.js)
- [Longest Common Subsequence of Three Sequences](/1-algorithmic-toolbox/week5_dynamic_programming1/5_longest_common_subsequence_of_three_sequences/lcs3.js)### Dynamic Programming 2
- [Maximum Amount of Gold](/1-algorithmic-toolbox/week6_dynamic_programming2/1_maximum_amount_of_gold/knapsack.js)
- [Partitioning Souvenirs](/1-algorithmic-toolbox/week6_dynamic_programming2/2_partitioning_souvenirs/partition3.js)
- [Maximum Value of an Arithmetic Expression](/1-algorithmic-toolbox/week6_dynamic_programming2/3_maximum_value_of_an_arithmetic_expression/placing_parentheses.js)## [Data Structures](/2-data-structures/)
### Basic Data Structures
- [Check brackets in the code](/2-data-structures/week1_basic_data_structures/1_brackets_in_code/check_brackets.js)
- [Tree height](/2-data-structures/week1_basic_data_structures/2_tree_height/tree_height.js)
- [Network packet processing simulation](/2-data-structures/week1_basic_data_structures/3_network_simulation/process_packages.js)
- [Stack with maximum](/2-data-structures/week1_basic_data_structures/4_stack_with_max/stack_with_max.js)
- [Maximum in Sliding Window](/2-data-structures/week1_basic_data_structures/5_max_sliding_window/max_sliding_window.js)### Priority Queues and Disjoint Sets
- [Make Heap](/2-data-structures/week2_priority_queues_and_disjoint_sets/1_make_heap/build_heap.js)
- [Parallel Processing](/2-data-structures/week2_priority_queues_and_disjoint_sets/2_job_queue/job_queue.js)
- [Merging Tables](/2-data-structures/week2_priority_queues_and_disjoint_sets/3_merging_tables/merging_tables.js)### Hash Tables
- [Phone Book](/2-data-structures/week3_hash_tables/1_phone_book/phone_book.js)
- [Chaining Simulation](/2-data-structures/week3_hash_tables/2_hash_chains/hash_chains.js)
- [Find Substring](/2-data-structures/week3_hash_tables/3_hash_substring/hash_substring.js)
- [Substring Comparison](/2-data-structures/week3_hash_tables/4_substring_equality/substring_equality.js)
- [Longest Common Substring](/2-data-structures/week3_hash_tables/5_longest_common_substring/common_substring.js)
- [Pattern Matching with Mismatches](/2-data-structures/week3_hash_tables/6_matching_with_mismatches/matching_with_mismatches.js)### Binary Search Trees
- [Tree Orders](/2-data-structures/week4_binary_search_trees/1_tree_traversals/tree-orders.js)
- [Is it a Binary Search Tree?](/2-data-structures/week4_binary_search_trees/2_is_bst/is_bst.js)
- [Is it a Binary Search Tree? Hard version.](/2-data-structures/week4_binary_search_trees/3_is_bst_advanced/is_bst_hard.js)
- [Set range sum](/2-data-structures/week4_binary_search_trees/4_set_range_sum/set_range_sum.js)
- [Rope string](/2-data-structures/week4_binary_search_trees/5_rope/rope.js)## [Algorithms on Graphs](3-algorithms-on-graphs)
### Decomposition of Graphs 1
- [Reachability](/3-algorithms-on-graphs/week1_graph_decomposition1/1_finding_exit_from_maze/reachability.js)
- [Connected Components](/3-algorithms-on-graphs/week1_graph_decomposition1/2_adding_exits_to_maze/connected_components.js)### Decomposition of Graphs 2
- [Acyclicity](/3-algorithms-on-graphs/week2_graph_decomposition2/1_cs_curriculum/acyclicity.js)
- [Topological Sort](/3-algorithms-on-graphs/week2_graph_decomposition2/2_order_of_courses/toposort.js)
- [Strongly connected components](/3-algorithms-on-graphs/week2_graph_decomposition2/3_intersection_reachability/strongly_connected.js)### Paths in Graphs 1
- [Breadth first search (minimum number of flight segments)](/3-algorithms-on-graphs/week3_paths_in_graphs1/1_flight_segments/bfs.js)
- [Bipartite](/3-algorithms-on-graphs/week3_paths_in_graphs1/2_bipartite/bipartite.js)### Paths in Graphs 2
- [Dijkstra](/3-algorithms-on-graphs/week4_paths_in_graphs2/1_minimum_flight_cost/dijkstra.js)
- [Negative Cycle](/3-algorithms-on-graphs/week4_paths_in_graphs2/2_detecting_anomalies/negative_cycle.js)
- [Shortest Paths](/3-algorithms-on-graphs/week4_paths_in_graphs2/3_exchanging_money/shortest_paths.js)### Minimum Spanning Trees
- [Connecting Points](/3-algorithms-on-graphs/week5_spanning_trees/1_connecting_points/connecting_points.js)
- [Clustering](/3-algorithms-on-graphs/week5_spanning_trees/2_clustering/clustering.js)## [Algorithms on String](/4-algorithms-on-strings/)
### Suffix Trees
- [Construct a Trie from a Collection of Patterns](/4-algorithms-on-strings/week1_suffix_trees/1_trie/trie.js)
- [Implement TrieMatching](/4-algorithms-on-strings/week1_suffix_trees/2_trie_matching/trie_matching.js)
- [Extend TrieMatching](/4-algorithms-on-strings/week1_suffix_trees/3_trie_matching_extended/trie_matching_extended.js)
- [Suffix Tree](/4-algorithms-on-strings/week1_suffix_trees/4_suffix_tree/suffix_tree.js)
- [Shortest Non-Shared Substring](/4-algorithms-on-strings/week1_suffix_trees/5_non_shared_substring/non_shared_substring.js)### BurrowsโWheeler Transform and Suffix Arrays
- [Burrows-Wheeler Transform](/4-algorithms-on-strings/week2_bwt_transform_and_suffix_arrays/1_bwt/bwt.js)
- [Reconstruct String from its Burrows-Wheeler Transform](/4-algorithms-on-strings/week2_bwt_transform_and_suffix_arrays/2_bwtinverse/bwtinverse.js)
- [Implement BetterBWMatching](/4-algorithms-on-strings/week2_bwt_transform_and_suffix_arrays/3_bwmatching/bwmatching.js)
- [Construct Suffix Array of a String](/4-algorithms-on-strings/week2_bwt_transform_and_suffix_arrays/4_suffix_array/suffix_array.js)### Algorithmic Challenges
- [Find all Occurrences of a Pattern in a String](/4-algorithms-on-strings/week3_4_algorithmic_challenges/1_kmp/kmp.js)
- [Construct Suffix Array of a Long String](/4-algorithms-on-strings/week3_4_algorithmic_challenges/2_suffix_array_long/suffix_array_long.js)
- [Pattern Matching with the Suffix Array](/4-algorithms-on-strings/week3_4_algorithmic_challenges/3_suffix_array_matching/suffix_array_matching.js)
- [Construct a Suffix Tree from a Suffix Array](/4-algorithms-on-strings/week3_4_algorithmic_challenges/4_suffix_tree_from_array/suffix_tree_from_array.js)## [Advanced Algorithms and Complexity](/5-advanced-algorithms-and-complexity/)
### Flows in Networks
- [Evacuating People](/5-advanced-algorithms-and-complexity/week1_flows_in_networks/1_evacuation/evacuation.js)
- [Airline Crews](/5-advanced-algorithms-and-complexity/week1_flows_in_networks/2_airline_crews/airlineCrews.js)
- [Stock Charts](/5-advanced-algorithms-and-complexity/week1_flows_in_networks/3_stock_charts/stockCharts.js)### Linear Programming
- [Infer Energy Values of Ingredients](/5-advanced-algorithms-and-complexity/week2_linear_programming/1_energy_values/energyValues.js)
- [Optimal Diet Problem](/5-advanced-algorithms-and-complexity/week2_linear_programming/2_diet/diet.js)
- [Online Advertisement Allocation](/5-advanced-algorithms-and-complexity/week2_linear_programming/3_ad_allocation/adAllocation.js)### NP-completeness
- [Assign Frequencies to the Cells of a GSM Network](/5-advanced-algorithms-and-complexity/week3_np_completeness/1_gsm_network/GSMNetwork.js)
- [Cleaning the Apartment](/5-advanced-algorithms-and-complexity/week3_np_completeness/2_cleaning_apartment/cleaningApartment.js)
- [Advertisement Budget Allocation](/5-advanced-algorithms-and-complexity/week3_np_completeness/3_budget_allocation/budgetAllocation.js)### Coping with NP-completeness
- [Plan a Fun Party](/5-advanced-algorithms-and-complexity/week4_coping_with_np_completeness/2_plan_party/planParty.js)
- [School Bus](/5-advanced-algorithms-and-complexity/week4_coping_with_np_completeness/3_school_bus/schoolBus.js)