Skip to content

Updated READ.ME #49

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 31, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 22 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,20 @@
# Data Structures and Algorithms in Go
# Data Structures and Algorithms in Go 🚀

[![tests](https://github.com/spring1843/go-dsa/actions/workflows/tests.yaml/badge.svg)](https://github.com/spring1843/go-dsa/actions/workflows/tests.yaml)
[![GitHub License](https://img.shields.io/badge/License-Apache%202.0-ff69b4.svg)](https://github.com/aws/karpenter/blob/main/LICENSE)
[![Go Report Card](https://goreportcard.com/badge/github.com/spring1843/go-dsa)](https://goreportcard.com/report/github.com/spring1843/go-dsa)
[![Coverage Report](https://coveralls.io/repos/github/spring1843/go-dsa/badge.svg?branch=main)](https://coveralls.io/github/spring1843/go-dsa?branch=main)
[![Go Reference](https://pkg.go.dev/badge/github.com/spring1843/go-dsa.svg)](https://pkg.go.dev/github.com/spring1843/go-dsa)

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.
Welcome to **Data Structures and Algorithms in Go**! 🎉 This project is designed to serve as a dynamic, hands-on learning resource for exploring data structures and algorithms using the Go programming language. We aim to provide practical, executable content for learners seeking to deepen their understanding in these critical areas of computer science.

This learning platform offers several advantages over traditional learning methods such as books and videos:
* It's executable across different platforms, reducing potential errors in the provided solutions.
* It provides 100% test coverage for all problems, ensuring the accuracy of every solution.
* It's continuously evolving and improving, thanks to contributions and reviews from the community.
* It lets you practice in your preferred programming environment, offering convenience and flexibility.
* It's completely free, making advanced knowledge in this field accessible to everyone.

* 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.

## Table of Contents
## 📚 Table of Contents

* Time and Space Analysis
* Data Structures
Expand All @@ -37,22 +35,22 @@ This learning platform offers several advantages over traditional learning metho
* [Greedy Algorithms](./greedy)
* [Dynamic Programming](./dp)

## How to use
## 🛠️ How to use

* Read the README.md file of each subject
* Copy the contents of each `*_test.go` file into [Go Playground](https://go.dev/play/)
* Implement your own solution and then compare it with the provided solution
* Read the provided solution and compare it to your own solution
* Read the README.md file of each subject.
* Solve the rehearsal problems.
* Read the problem description.
* Copy the contents of each `*_test.go` file into [Go Playground](https://go.dev/play/).
* Look at the sample input in the `*_test.go` file.
* Implement your own solution.
* Review the provided solution and compare it to your own.

To run examples locally [install Go](https://go.dev/doc/install), and run `go get -u github.com/spring1843/go-dsa`.

## Outline

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:
## 📋 Outline

* **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
For each topic, we strive to provide a comprehensive README.md file and at least 5 solved problems. Each README.md will contain:
* 💡 **Implementation**: Detailed explanation on how the data structure or algorithm can be implemented, including code examples in Go.
* 📊 **Complexity**: Analysis of the time and space complexity of the data structure or algorithm.
* 🎯 **Application**: Discussion of problems that are commonly solved using the data structure or algorithm.
* 📝 **Rehearsal**: Practice problems with links to tests that provide 100% coverage, and example inputs and outputs.