The primary objective of this project is to offer a valuable learning and practicing resource for Data Structures and Algorithms in the Go programming language. The project aims to provide concise and executable materials for individuals seeking to develop their knowledge in this area.
This learning platform offers several advantages over traditional learning methods such as books and videos:
- It continues to evolve and improve over time, providing learners with community contributed and reviewed content
- It is executable on various platforms, which minimizes the possibility of errors in the provided solutions
- It provides solutions for all problems with 100% test coverage to prove the accuracy of each solution
- It allows learners to test their skills in their preferred programming environment, making it more convenient and flexible
- It is freely available to anyone interested in enhancing their knowledge in the subject area.
- Time and Space Analysis
- Data Structures
- Algorithms
- Read the README.md file of each subject
- Copy the contents of each
*_test.go
file into Go Playground - Implement your own solution and then compare it with the provided solution
- Read the provided solution and compare it to your own solution
To run examples locally install Go, and run go get -u github.com/spring1843/go-dsa
.
For each area of study the goal is to provide a README.md file and at least 5 solved problems.
Each README.md will contain the following sections:
- Implementation, How the data structure or algorithm can generally be implemented with code examples in Go
- Complexity, Time and space complexity analysis of typical data structure operations
- Application, Problems commonly solved using the data structure
- Rehearsal, Example problem to practice along with links to tests that provide 100% coverage and example input and outputs