Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/MoigeMatino/Data-Structures-Algorithms-Python

This repository features DSA problems & solutions in Python adapted from structy.net course. I created it as a resource to help others enhance their problem-solving skills and build proficiency in Python. Whether you're a beginner or a seasoned programmer, this comprehensive guide can help you develop your abilities and excel in your career.
https://github.com/MoigeMatino/Data-Structures-Algorithms-Python

List: Data-Structures-Algorithms-Python

algorithms arrays binary-tree data-structures dynamic-programming graph linked-list lists problem-solving python3 stacks strings-python

Last synced: 3 months ago
JSON representation

This repository features DSA problems & solutions in Python adapted from structy.net course. I created it as a resource to help others enhance their problem-solving skills and build proficiency in Python. Whether you're a beginner or a seasoned programmer, this comprehensive guide can help you develop your abilities and excel in your career.

Awesome Lists containing this project

README

        

# Data Structures and Algorithms - Python

This repository mirrors the problem sets from the [structy.net](https://structy.net/) website, offering a comprehensive collection of Python challenges in data structures and algorithms. These problems are structured to be tackled sequentially, ensuring a logical progression in learning, with tasks thoughtfully arranged below in chronological order. As part of the continued commitment to your success, this repository is currently undergoing exciting enhancements. Expect comprehensive test coverage for all problems, with some tests already completed, along with detailed comments to aid better understanding. Stay tuned for these exciting updates and happy coding! 🚀🚀

## :hammer_and_wrench: Enhancements

* **Comprehensive Test Coverage:** This repository is being enhanced to include thorough test cases for all problems, ensuring the correctness and efficiency of your code solutions.
* **Detailed Comments:** Detailed comments are being progressively added to the problems and solutions, providing deeper insights into the code, explaining the logic behind specific approaches, and enhancing your understanding of the algorithms and data structures involved.
* Bonus Questions: To further challenge your understanding and explore related concepts, bonus questions have been added to many topics. These questions delve deeper into the topics covered in the main problem and comments, providing additional opportunities for practice and learning.
* **Difficulty Levels:** The introduction of difficulty levels for each problem is planned, allowing you to progressively challenge yourself and learn at your own pace, starting with fundamental concepts and gradually advancing towards more complex tasks.
* **Interactive Elements:** The incorporation of interactive elements, such as quizzes or code challenges, is being explored. These elements aim to reinforce your learning and make the practice experience more engaging.
* **Community Forum:** The establishment of a community forum where users can share solutions, ask questions, and engage with each other is being considered. This collaborative environment hopes to foster learning and problem-solving skills.

## 0. Introduction

[000. hey programmer](https://github.com/MoigeMatino/structy.net/tree/main/introduction/hey_programmer)
[001. max value](https://github.com/MoigeMatino/structy.net/tree/main/introduction/max_value)
[002. is prime](https://github.com/MoigeMatino/structy.net/tree/main/introduction/is_prime)

## 1. Arrays and Strings

[003. uncompress](https://github.com/MoigeMatino/structy.net/tree/main/arrays_and_strings/uncompress)
[004. compress](https://github.com/MoigeMatino/structy.net/tree/main/arrays_and_strings/compress)
[005. anagrams](https://github.com/MoigeMatino/structy.net/tree/main/arrays_and_strings/anagrams)
[006. most frequent char](https://github.com/MoigeMatino/structy.net/tree/main/arrays_and_strings/most_frequent_char)
[007. pair sum](https://github.com/MoigeMatino/structy.net/tree/main/arrays_and_strings/pair_sum)
[008. pair product](https://github.com/MoigeMatino/structy.net/tree/main/arrays_and_strings/pair_product)
[009. intersection](https://github.com/MoigeMatino/structy.net/tree/main/arrays_and_strings/intersection)
[010. five sort](https://github.com/MoigeMatino/structy.net/tree/main/arrays_and_strings/five_sort)
[BONUS: sum of three values](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/arrays_and_strings/sum_of_three_values)
[BONUS: three sum](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/arrays_and_strings/three_sum)
[BONUS: longest palindrome](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/arrays_and_strings/longest_palindrome)

## 2. Linked Lists

[011. traversal](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/traversal)
[012. sum list](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/sum_list)
[013. linked list find](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/linked_list_find)
[014. get node value](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/get_node_value)
[015. reverse list](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/reverse_linked_list)
[016. zipper lists](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/zipper_lists)
[017. merge lists](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/merge_lists)
[018. is univalue list](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/is_univalue_list)
[019. longest streak](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/longest_streak)
[020. remove node](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/remove_node)
[021. insert node](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/insert_node)
[022. create linked list](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/create_linked_list)
[023. add lists](https://github.com/MoigeMatino/structy.net/tree/main/linked_lists/add_linked_lists)

## 3. Binary Tree

[024. depth first values](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/depth_first_values)
[025. breadth first values](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/breadth_first_values)
[026. tree sum](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/tree_sum)
[027. tree includes](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/tree_includes)
[028. tree min value](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/tree_min_value)
[029. max root to leaf path sum](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/max_path_root_sum)
[030. tree path finder](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/tree_path_finder)
[031. tree value count](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/tree_value_count)
[032. how high](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/how_high)
[033. bottom right value](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/bottom_right_value)
[034. all tree paths](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/all_tree_paths)
[035. tree level](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/tree_levels)
[036. level averages](https://github.com/MoigeMatino/structy.net/tree/main/binary_tree/level_averages)
[037. leaf list](https://github.com/MoigeMatino/structy.net/edit/main/binary_tree/leaf_list)

## 4. Graphs

[038. has path](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/has_path)
[039. undirected path](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/undirected_path)
[040. connected components count](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/connected_components)
[041. largest component](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/largest_component)
[042. shortest path](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/shortest_path)
[043. island count](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/island_count)
[044. minimum island](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/minimum_island)
[045. closest carrot](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/closest_carrot)
[046. longest path](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/longest_path)
[047. semesters required](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/semesters_required)
[048. best bridge](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/best_bridge)
[049. has cycle](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/has_cycle)
[050. prereqs possible](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/prereqs_available)
[051. knight attack](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/graphs/knight_attack)

## 5. Dynamic Programming

[052. fib](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/fib)
[053. tribonacci](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/tribonacci)
[054. sum possible](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/sum_possible)
[055. min change](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/min_change)
[056. count path](https://github.com/MoigeMatino/data-structures-algorithms-structy/blob/main/dynamic_programming/count_paths)
[057. max path sum](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/max_path_sum)
[058. non adjacent sum](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/dynamic_programming/non_adjacent_sum)
[059. summing squares](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/summing_squares)
[060. counting change](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/counting_change)
[061. array stepper](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/array_stepper)
[062. max palin subsequence](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/max_palin_subsequence)
[063. overlap subsequence](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/overlap_subsequence)
[064. can concat](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/can_concat)
[065. quickest concat](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/quickest_concat)
[066. knightly number](https://github.com/MoigeMatino/data-structures-algorithms-structy/tree/main/dynamic_programming/knightly_number)
[BONUS: house robber](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/dynamic_programming/house_robber)
[BONUS: palindromic strings](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/dynamic_programming/palindromic_substrings)
[BONUS: word break](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/dynamic_programming/word_break)
[BONUS: count bits](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/dynamic_programming/count_bits)
[BONUS: 0/1 knapsack](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/dynamic_programming/01_knapsack)
[BONUS: 01 matrix](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/dynamic_programming/01_matrix)

## 6. Stacks
[067. paired parentheses](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/stacks/paired_parentheses)
[068. befitting brackets](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/stacks/befitting_brackets)
[069. decompress braces](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/stacks/decompress_braces)
[070. nesting score](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/stacks/nesting_score)
[BONUS: reverse stack](https://github.com/MoigeMatino/Data-Structures-Algorithms-Python/tree/main/stacks/reverse_stack)